按名称查找WPF控件

use*_*963 15 c# wpf

我找到了一些帮助,找到了引用C#编程的控件的最佳方法

如果我预先在XAML中包含一个标签并在其中命名,marketInfo那么在代码中我可以设置Tag类似的属性

marketInfo.Tag = timeNow;
Run Code Online (Sandbox Code Playgroud)

但是,我正在构建控件并使用类似的东西为每个名称分配名称

System.Windows.Controls.Label lbl = new System.Windows.Controls.Label();
lbl.Content = market.name + " - " + DateTime.Now.ToLocalTime().ToLongTimeString();
lbl.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
lbl.Height = 40;
lbl.Name = @"_" + "marketInfo" + countMarket;
Run Code Online (Sandbox Code Playgroud)

如何从其他方法引用这些控件?我已经阅读了一些建议使用的帖子,visualtreehelper但这似乎需要循环控件才能找到特定的控件.有没有办法按名称访问控件以避免循环?

例如类似的东西

//pseudo code
SomeControl("_marketInfo5").Tag = timeNow;
Run Code Online (Sandbox Code Playgroud)

谢谢

Kev*_*sse 33

至少有两种方法可以做到这一点:

  • 这是一个很好的提示,它对我不起作用,但它引导我做了什么工作.我不得不使用`control.Template.FindName("name")`来获得我需要的孩子. (3认同)