七月 5

wpf笔记之xmal里面的Name和x:Name有什么区别

经常会有初学者问:在XAML代码中是应该使用Name呢,还是x:Name?

Name属性定义在FrameworkElement类中,这个类是WPF控件的基类,所以所有WPF控件都具有Name这个属性。当一个元素具有Name属性时,你使用Name或x:Name效果是一样的。比如<Buton x:Name=”btn”/>和<Buton Name=”btn”/>,XAML编译器的动作都是声明名为btn的Button类型变量并引用一个Button 类型实例,而且此实例的Name属性值亦为btn。此时,Name和x:Name是可以互换的,只是不能同时出现在一个元素中。

对于那些没有Name属性的元素,为了在XAML声明时也创建引用变量以便在C#代码中访问,我们就只能使用x:Name。有的编程者认为,因为x:Name的功能涵盖了Name属性的功能,所以全部使用x:Name以增强代码的统一性和可读性。但是安静还是认为,由于绝大多数代码都可以直接使用Name,那么和何乐而不为呢?只是在不能是用Name的时候,使用x:Name就好了。



文章由安静原创,发表于www.ajnote.com。转载请注明出处

发表 2019年7月5日 自 anjing 类别 "C#学习笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注