日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

x:Name与Name区别

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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標記特性:

  • <!--Xaml?code-->??
  • ??
  • <Ellipse>??
  • ???<Ellipse.Fill>??
  • ???????<SolidColorBrush?x:Name="aliceBlue"?Color="AliceBlue"/>??
  • ???????<!--注銷上面一行的代碼,使用下面一行的代碼無法通過編譯-->??
  • ???????<!--<SolidColorBrush?Name="aliceBlue"?Color="AliceBlue"/>-->??
  • ???</Ellipse.Fill>??
  • </Ellipse>??
  • 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; }?
    }

  • ????<StackPanel>??
  • ????????<wp:Person?x:Name="WebAttack"/>??
  • ????????<TextBlock>Name:</TextBlock>??
  • ????????<TextBlock?Text="{Binding?ElementName=WebAttack,?Path=N1}"/>??
  • ????????<TextBlock>Nickname:</TextBlock>??
  • ????????<TextBlock?Text="{Binding?ElementName=WebAttack,?Path=N2}"/>??
  • ????</StackPanel>??
  • 轉載于:https://www.cnblogs.com/yangxk666/p/3759241.html

    總結

    以上是生活随笔為你收集整理的x:Name与Name区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。