添加到表单的控件没有名称
本文关键字:有名称 控件 表单 添加 | 更新日期: 2023-09-27 18:29:38
我完全不在WPF中。我刚刚打开了MS Visual Studio Express 2013预览版,我正在尝试做一些"Hello World!"应用程序。我注意到,当我向窗体添加控件时,例如TextBox,该控件没有名称分配。
这正常吗?如何从代码中更改其属性?
在WPF中,控件几乎只需要提供一个名称,原因如下:
- 开发人员希望在代码背后引用控件(使用MVVM时不赞成,但有时是必要的)
- 开发人员何时将XAML传递给使用自动UI测试工具的测试团队
- 当另一个控件上的Binding使用ElementName引用该控件上的属性时
如果它不是其中之一,那么实际上就没有必要命名您的控件。一旦您开始使用MVVM作为主要设计模式,您就会发现,您几乎不需要知道代码中控件的名称。开始习惯于更改XAML中的属性,而不是代码。
您应该使用Name
属性并提供唯一标识符:
<TextBox Name="UniqueName">
Value
</TextBox>
只有找到一种方法来实际定位控件而不首先使用名称,才能在代码中分配Name
值——这有点冗长,而不是使用标记,除非你无论如何都是动态地将控件添加到窗口中,因此已经直接引用了元素。
添加"名称"属性
Msdn文件:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name.aspx
该控件没有名称分配。这正常吗?如何从代码更改其属性
创建控件后,您可以访问它的所有属性,如
Textbox tb = new TextBox();
tb.Name = "textBox1";
tb.Text = "Hello world";
someStackPanel.Children.Add(tb);