在msdn网站上有大量关于XAML概述的文章:XAML概述。其中有一部分描述了什么是
我知道当我在XAML中创建一个元素并设置:
x:Key
、x:Class
、x:Name
等,但问题在于这些都很抽象,没有例子。我知道当我在XAML中创建一个元素并设置:
x:Name = "abc"
时,在cs文件中我可以通过abc.fieldORmethod()
访问此对象,但其余情况呢?以下语句能否提供带有示例的解释?
x:Key
:为ResourceDictionary
(或其他框架中类似字典的概念)中的每个资源设置唯一键。在典型的WPF应用程序标记中,x:Key可能占到90%以上的使用率。x:Class
:指定提供XAML页面代码后台的CLR命名空间和类名。根据WPF编程模型,您必须拥有这样的类来支持代码后台,因此几乎总是看到x:映射,即使没有资源。x:Name
:指定在处理对象元素后存在于运行时代码中的实例的运行时对象名称。通常,您会经常使用WPF定义的等效属性来替代x:Name。这些属性特定映射到CLR备份属性,因此更方便用于应用程序编程,在初始化XAML后,您经常使用运行时代码来查找命名元素。最常见的这种属性是FrameworkElement.Name
。当特定类型不支持等效的WPF框架级别Name属性时,仍可以使用x:Name。这在某些动画场景中发生。
x:Static
: 启用引用,返回一个静态值,该值不是 XAML 兼容属性。x:Type
: 基于类型名称构建类型引用。这用于指定需要 Type 的属性,例如Style.TargetType
,虽然通常在此类情况下,该属性具有本机的字符串到 Type 的转换方式,因此 x:Type 标记扩展的使用是可选的。