我正在以编程方式创建大多数UI元素。但是,我需要能够以编程方式访问某些静态命名的元素(例如,如果此名称的元素存在,它始终是我想要的元素),而我所能找到的就是有关使用WPF和ASP.NET查找控件的信息。
我如何在UWP中做到这一点?
C#UWP-如何访问以编程方式创建的控件?
如果为控件指定了名称,则可以使用follow方法获取控件。然后创建以下内容VisualTreeHelper
,用于遍历应用程序可视树中的对象关系(沿着子对象轴或父对象轴)。
public static DependencyObject MyFindChildByName(DependencyObject parant, string ControlName)
{
int count = VisualTreeHelper.GetChildrenCount(parant);
for (int i = 0; i < count; i++)
{
var MyChild = VisualTreeHelper.GetChild(parant, i);
if (MyChild is FrameworkElement && ((FrameworkElement)MyChild).Name == ControlName)
return MyChild;
var FindResult = MyFindChildByName(MyChild, ControlName);
if (FindResult != null)
return FindResult;
}
return null;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句