在msdn网站上有一篇大文章:XAML概述
并且有一部分描述了什么是:x:Key, x:Class, x:Name等等,但问题在于所有关于它的说法都是抽象的,没有例子.
我知道当我在xaml中创建一个元素并设置:x:Name = "abc"然后在cs文件中我可以访问这个对象,abc.fieldORmethod()但其余的是什么.有人可以为下面的陈述提供解释吗?
x:Key:为ResourceDictionary
(或其他框架中的类似字典概念)中的每个资源设置唯一键.x:密钥可能会占到您在典型WPF应用程序标记中看到的x:用法的90%.x:Class:指定为XAML页面提供代码隐藏的类的CLR名称空间和类名.你必须拥有这样一个类来支持WPF编程模型的代码隐藏,因此即使没有资源,你也几乎总能看到x:mapped.x:Name:指定处理对象元素后在运行时代码中存在的实例的运行时对象名称.通常,您将经常为x:Name使用WPF定义的等效属性.这些属性专门映射到CLR支持属性,因此更方便应用程序编程,您经常使用运行时代码从初始化的XAML中查找命名元素.最常见的此类财产是
FrameworkElement.Name.当特定类型不支持等效的WPF框架级Name属性时,您仍可以使用x:Name.这在某些动画场景中会发生.x:Static:启用一个返回静态值的引用,否则该值不是XAML兼容的属性.x:Type:根据类型名称构造一个Type引用.这用于指定采用Type的属性,例如Style.TargetType,尽管该属性经常具有本机字符串到类型的转换,使得x:Type标记扩展使用是可选的.Roh*_*ats 17
x:密钥用于您想要定义一些可以在您的xaml中重用的资源.它相当于普通字典的Key.
<Window.Resources>
<Style x:Key="ButtonStyle"/>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
x:Static用于捐赠一些静态数据.假设您要声明使用SystemColors枚举下定义的静态颜色的画笔.
<SolidColorBrush Color="{x:Static SystemColors.ControlColor}" />
Run Code Online (Sandbox Code Playgroud)
x:Type类似于TypeC#中的类.它表示类的类型.
<Style TargetType="{x:Type Button}"/>
Run Code Online (Sandbox Code Playgroud)
x:Name用于提供控制名称,以便可以使用该名称从后面的代码访问它,或者可以使用ElementName在XAML中绑定.
<TextBlock x:Name="txt1" Text="Test"/>
<TextBlock x:Name="txt2" Text="{Binding Text,ElementName=txt}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11096 次 |
| 最近记录: |