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

6
例如,我有这段代码:

代码如下:

<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
2个回答

10

wpfwiki

这两者基本没有区别。

"x:Name"表达式用于在XAML中给一个对象赋予名称,以便从代码后台访问该对象。

许多框架类公开了Name属性,该属性正是用于此目的。对于这些类,x:Name和Name属性可以互换使用。


1
一个小的区别:在同一程序集中声明XAML文件的控件上,由于某些疯狂的原因,不能使用Name属性。在这种情况下,你必须使用x:Name。 - itowlson
所以对我来说,最好还是保险起见,并养成使用x:Name的习惯,以防框架类没有Name属性。问候。 - Sergio Tapia

0

你将在这里收到回复。

基本上,x:Name被WPF用于在运行时访问,并由XAML生成代码后台中的字段。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接