我注意到在XAML中给元素命名时,有两种选项。
<Textbox Name="MyTextBox" />
或者
<Textbox x:Name="MyOtherTextBox" />
我曾在各种示例中看到这两者都被使用,想知道哪个更好,以便在我的应用程序中使用。它们之间有什么区别?
我注意到在XAML中给元素命名时,有两种选项。
<Textbox Name="MyTextBox" />
或者
<Textbox x:Name="MyOtherTextBox" />
我曾在各种示例中看到这两者都被使用,想知道哪个更好,以便在我的应用程序中使用。它们之间有什么区别?
TextBox
这样的元素拥有一个 Name
属性时,使用 Name
或 x:Name
没有区别。Name
属性,因此在这些元素上尝试使用 Name
将导致错误。但是可以使用 x:Name
。当这样的元素具有 x:Name
时,通常可以通过包含的 FrameworkElement
的 FindName
方法找到它。它指的是命名空间。在下面的代码片段中,它指的是“xmlns:x”。"x:Name"和"Name"是相同的。
<UserControl
x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
...>