区分x:Wpf应用程序中的名称和名称

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

  

  

上面两行之间有什么区别? 在后面的代码中,我如何区分Namex:Name

请看这个 :

它们引用相同的东西,但在定义UserControl时必须使用x:前缀。

在WPF中,x:Name和Name属性之间有什么区别?

x:xaml文件中控件的名称和名称有什么区别吗?

这来自微软 :

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