我注意到在xaml中命名元素时,我们在命名元素时有两个选项。
<Textbox Name="MyTextBox" />
或
<Textbox x:Name="MyOtherTextBox" />
我已经看到在各种示例中都使用过,并且想知道哪个最好,所以我可以在我的应用程序中使用它。这两者有什么区别?
答案 0 :(得分:5)
当TextBox
之类的元素具有Name
属性时,使用Name
或x:Name
之间没有区别。
但是,并非所有可以在Xaml中出现的类都具有Name
属性,因此尝试在此类元素上使用Name
将导致错误。您可以使用x:Name
。当此类元素具有x:Name
时,通常可以使用包含FindName
的{{1}}方法找到它。
另请参阅: - Is there any difference in x:name and name for controls in xaml file?
答案 1 :(得分:1)
你可以说它是确保一致性的命名约定,但它也允许轻松区分XML属性,因为你知道有问题的项是在文件后面的某些代码中声明和实例化或使用的。
答案 2 :(得分:1)
它指的是namespace。在下面的代码段中,它指的是“xmlns:x”。 “x:名称”和“名称”是相同的。
<UserControl
x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
...>