找不到这个。控制 - 我错过了什么?

时间:2010-05-20 14:54:53

标签: c# wpf wpf-controls

对于一个可能愚蠢的问题感到抱歉,我仍然是新人。我非常感谢你的帮助。 参考Get a Windows Forms control by name in C# 但我没有“this.Controls”可用。我在这里缺少什么吗?

换句话说,当我输入“this”时。和visual studio填充选项列表,没有“控件”选项。

3 个答案:

答案 0 :(得分:4)

在WPF中,您应该尝试this.FindName(string name)

Button b = (Button)this.FindName("button1");

答案 1 :(得分:1)

你给的链接是针对Winforms的,你正在寻找一种不同的WPF方式。

答案 2 :(得分:1)

如果您想在任何原因迭代控件,在Window类中,您可以遍历LayoutRoot的子项(例如)

    foreach (object o in this.LayoutRoot.Children)
    {
        MessageBox.Show(o.GetType().Name);
    }

请记住,孩子们也可以包含孩子,因此您需要根据需要深入研究每个孩子。