添加控件到表单没有名称

时间:2013-08-29 09:03:36

标签: c# wpf

我在WPF中完全是菜鸟。我刚刚打开了MS Visual Studio Express 2013预览版,我正在尝试做一些“Hello World!”应用程序。我注意到当我向表单添加控件时,例如TextBox,该控件没有指定名称。

这是正常的吗?我如何从代码中更改其属性?

4 个答案:

答案 0 :(得分:3)

在WPF中,控件需要提供几乎完全出于以下原因的名称:

  • 开发人员希望在代码隐藏中引用控件(在使用MVVM时不赞成但有时需要)
  • 当开发人员将XAML传递给使用自动UI测试工具的测试团队时
  • 当另一个控件上的Binding使用ElementName引用该控件上的属性时。

如果不是其中之一,则无需为控件命名。一旦开始使用MVVM作为主要设计模式,您就会发现很少需要知道代码中控件的名称。开始习惯在XAML中更改属性,而不是代码。

答案 1 :(得分:2)

您应该使用Name属性并提供唯一标识符:

<TextBox Name="UniqueName">
  Value
</TextBox>

只有当你找到一种方法来实际找到控件而不是一个名字时才能在代码中分配Name值 - 这有点啰嗦而不是使用标记,除非,即你动态地将控件添加到窗口,因此已经直接引用了元素。

答案 2 :(得分:1)

答案 3 :(得分:0)

  

该控件没有指定名称。这是正常的吗?如何从代码

更改其属性

创建控件后,您可以访问其所有属性,如

Textbox tb = new TextBox();
tb.Name = "textBox1";
tb.Text = "Hello world";
someStackPanel.Children.Add(tb);