区分 Wpf 应用程序中的 x:Name 和 Name [重复]

2024-04-30

我是 Wpf 编程的初学者,我需要知道两者之间的区别Name and x:Name

<label Name="lab" ></label>

and

<label x:Name="lab" ></label>

上面两行有什么区别?在代码后面,我如何区分Name and x:Name ?


请参见this https://stackoverflow.com/questions/1088322/wpf-what-is-difference-between-name-and-xname:

它们指的是同一件事,但是在定义时必须使用 x: 前缀UserControl.

在 WPF 中,x:Name 和 Name 属性之间有什么区别? https://stackoverflow.com/questions/589874/in-wpf-what-are-the-differences-between-the-xname-and-name-attributes

xaml 文件中的 x:name 和控件名称有什么区别吗? https://stackoverflow.com/questions/3379230/is-there-any-difference-in-xname-and-name-for-controls-in-xaml-file

这来自微软 http://msdn.microsoft.com/en-us/library/ms752290%28v=vs.110%29.aspx:

任何WPF应用场景都可以避免使用x:Name 属性,因为名称依赖属性中指定 几个重要基类的默认 XAML 命名空间,例如 因为 FrameworkElement 和 FrameworkContentElement 满足同样的要求 目的。仍然有一些常见的 XAML 和 WPF 场景需要代码 在框架级别访问没有 Name 属性的元素是 重要的。例如,某些动画和故事板支持 类不支持 Name 属性,但它们通常需要 在代码中引用以控制动画。你应该 指定 x:Name 作为时间线和变换上的属性 如果您打算稍后从代码中引用它们,则在 XAML 中创建。如果 Name 可作为类的属性,Name 和 x:Name 可以是 作为属性可互换使用,但会导致解析异常 如果两者都在同一元素上指定。如果 XAML 是标记 编译时,标记编译时会出现异常,否则 发生在负载上。可以使用 XAML 属性语法设置名称,并在 使用 SetValue 的代码;但请注意,将 Name 属性设置为 代码不会创建代表性字段引用 在大多数情况下,XAML 名称范围已加载 XAML。 不要尝试在代码中设置 Name,而是使用 NameScope 方法 代码,针对适当的名称范围。名称也可以使用设置 属性元素语法与内部文本,但这并不常见。在 相反,x:Name 不能在 XAML 属性元素语法中设置,也不能在 使用 SetValue 的代码;它只能使用属性语法来设置 对象,因为它是一个指令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区分 Wpf 应用程序中的 x:Name 和 Name [重复] 的相关文章

随机推荐