x:Name与Name区别
x:Name與Name有兩個不同點:
1、x:Name是Xaml的標記特性,任何在Xaml中定義的元素,都可以使用x:Name來為元素指定名稱。
Name是FrameworkElement定義的依賴項屬性(String類型),只有FrameworkElement的派生類才可以使用Name。
例如,Ellipse的Fill屬性的類型是Brush,Brush不是FrameworkElement的子類,它沒有Name屬性。
因此,在Xaml中,為Brush指定名稱時,只能使用x:Name標記特性:
2、在FrameworkElement的定義中,添加了System.Windows.Markup.RuntimeNamePropertyAttribute特性:
該特性的作用是,當在Xaml中,使用x:Name后,該值將被自動賦給FrameworkElement的Name屬性。
?
可以使用RuntimeNamePropertyAttribut,為自己定義的類添加名稱特性:
[RuntimeNamePropertyAttribute("N1")]?
[RuntimeNamePropertyAttribute("N2")]?
public class Person : UIElement?
{?
??? public String N1 { get; set; }?
??? public String N2 { get; set; }?
}
轉載于:https://www.cnblogs.com/yangxk666/p/3759241.html
總結
以上是生活随笔為你收集整理的x:Name与Name区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机停电组态丢失,基于MCGS组态软件
- 下一篇: 管道模式 pipe