当控件的名称以字符串形式已知时,在运行时查找该控件
本文关键字:控件 运行时 查找 字符串 | 更新日期: 2023-09-27 18:19:09
我动态创建了一个超链接
Hyperlink objHyperlink = new Hyperlink();
根据键值,我需要将现有的超链接设置为objHyperlink
if key == "Markets"
then hyperlink to be set is hyplnkIsActiveMarkets
if key =="Budgets"
then hyperlink to be set is hyplnkIsActiveBudgets
我的问题是如何在运行时得到控制,我知道它的名字是"hyplnkIsActive"+"市场"("市场"是从键得到的)
der是否像FindControlByname("hyplnkIsActive"+"Markets");
试试这个
var myControl = (Control)this.FindName("Control Name");
如果你有一个所有可用超链接的列表,那么试试这个
Hyperlink FindLinkByName(IEnumerable<Hyperlink> links,string linkName)
{
return links
.FirstOrDefault
(
link => Equals(link.GetValue(FrameworkElement.NameProperty),linkName)
);
}
你可以这样命名它:
FindLinkByName(list of links, "hyplnkIsActive"+"Markets")
将创建的控件保存在具有键和对象的散列表中。这是fasted方法