Silverlight 命名元素时,XAML中x:前缀的用途是什么?

Silverlight 命名元素时,XAML中x:前缀的用途是什么?,silverlight,xaml,Silverlight,Xaml,我注意到,在xaml中命名元素时,我们在命名元素时有两个选项 <Textbox Name="MyTextBox" /> 或 我已经在不同的例子中看到了这两种方法,我想知道哪种方法最好,这样我就可以在我的应用程序中使用它了。两者之间的区别是什么?您可以说这是一种确保一致性的命名约定,但它也允许轻松区分XML属性,因为您知道相关项是在某些代码隐藏文件中声明、实例化或使用的 看看微软公司对它的看法(基于WPF的背景)和Silverlight的答案。它指的是。在下面的代码段中,它指

我注意到,在xaml中命名元素时,我们在命名元素时有两个选项

<Textbox Name="MyTextBox" />



我已经在不同的例子中看到了这两种方法,我想知道哪种方法最好,这样我就可以在我的应用程序中使用它了。两者之间的区别是什么?

您可以说这是一种确保一致性的命名约定,但它也允许轻松区分XML属性,因为您知道相关项是在某些代码隐藏文件中声明、实例化或使用的

看看微软公司对它的看法(基于WPF的背景)和Silverlight的答案。

它指的是。在下面的代码段中,它指的是“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"
    ...>

TextBox
等元素具有
Name
属性时,使用
Name
x:Name
之间没有区别

但是,并非所有可以出现在Xaml中的类都具有
Name
属性,因此尝试在此类元素上使用
Name
将导致错误。不过,您可以使用
x:Name
。当此类元素具有
x:Name
时,通常可以使用包含
FrameworkElement
FindName
方法找到它

另见:-

<UserControl
    x:Class="MyNamespace.MyClass"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    ...>