use*_*285 27 wpf xaml key uid difference
我正在尝试在WPF中创建动态选项卡,我正在尝试编写一个仅适用于某些选项卡项的内容模板.我希望能够为内容模板创建一个标识符,以便我可以在后面的代码中引用它,这样我就可以选择性地将它应用于单个TabControl中的某些选项卡.但是,我对这三种不同的xaml标识符感到困惑.有什么区别,哪一个最适合我的目的?
Gay*_*Fow 39
'x:'指定命名空间,在您的情况下很可能是" http://schemas.microsoft.com/winfx/2006/xaml "您将看到在Window.Xaml文件顶部声明的别名.x:Key,x:Name等是该命名空间中的所有指令.
相反,'Name'属性(不带x :)是FrameworkElement类中声明的依赖属性.
X:关键
唯一标识在XAML定义的字典中创建和引用的元素.将x:Key值添加到XAML对象元素是识别资源字典中资源的最常用方法,例如在WPF ResourceDictionary中.
X:名称
在XAML名称范围中唯一标识XAML定义的元素.当框架提供API或实现在运行时访问XAML创建的对象图的行为时,XAML名称范围及其唯一性模型可应用于实例化对象.
X:的Uid
为标记元素提供唯一标识符.在许多情况下,XAML本地化过程和工具使用此唯一标识符.
笔记
当应用程序必须使用资源字典支持不同的语言时,我才看到x:Uid.
对于另外两个(x:Key和x:Name),一个基本的经验法则是使用x:Name表示Framework元素,使用x:Key表示样式,模板等.因此,对于您的问题,如果您自己命名模板,则可以使用x:Key指令.在模板中声明的控件将使用x:Name指令.
Xaml Namespace提供了所有Xaml指令的完整列表
如果要将模板应用于页面中的所有选项卡,可以使用x:Type,但如果要将其应用于少数选项卡而不是所有选项卡,则可以使用x:Key.
通常,当您想在xaml文件中将其用作StaticResource时,您将使用x:Key.当您想要在代码隐藏中引用它时,您将为控件或模板提供x:Name.我从未使用过X:Uid,但这就是MSDN所说的,
使用x:Uid标识XAML中的对象元素.通常,此对象元素是控件类的实例或在UI中显示的其他元素.您在x:Uid中使用的字符串与您在资源文件中使用的字符串之间的关系是资源文件字符串是x:Uid后跟一个点(.),然后是元素的特定属性的名称那是本地化的.
归档时间: |
|
查看次数: |
14731 次 |
最近记录: |