C# I';我最近开始自学WPF。声明Name和x:Name有什么区别?

C# I';我最近开始自学WPF。声明Name和x:Name有什么区别?,c#,wpf,C#,Wpf,例如,我有以下代码: <Grid> <Rectangle Name="TheRectangle" Fill="AliceBlue" Height="100" Width="100"> </Rectangle> </Grid> VS. <Grid> <Rectangle x:Name="TheRectangle" Fill="AliceBlue" Height="100" Wid

例如,我有以下代码:

<Grid>
    <Rectangle Name="TheRectangle" Fill="AliceBlue" Height="100" Width="100">            
    </Rectangle>
</Grid>

VS.

<Grid>
    <Rectangle x:Name="TheRectangle" Fill="AliceBlue" Height="100" Width="100">            
    </Rectangle>
</Grid>

非常感谢您提供的信息。我很兴奋能学到像这样的新东西D

基本上没有区别 在两者之间

“x:Name”表达式用于 XAML为对象指定名称 将用于访问对象的 从背后的代码

框架的许多类公开了一个 Name属性,该属性 这对于这些类,x:Name和 并且可以使用Name属性 可互换地

你会得到答复的


基本上,WPF使用x:Name在运行时进行访问,XAML使用x:Name在代码隐藏中生成字段。

一个小区别:Name不能(出于某些疯狂的原因)在XAML中用于与XAML文件在同一程序集中声明的控件。在这种情况下,您必须使用x:Name来代替。因此,为了安全起见,我最好是在框架类没有Name属性的情况下始终使用x:Name?当做