x的含义:Key,x:Class x:在XAML中输入x:Static

时间:2013-12-30 20:02:04

标签: c# .net wpf xaml

在msdn网站上有一篇大文章:XAML overview

还有一部分描述了什么是:x:Key, x:Class, x:Name等等,但问题在于所有关于它的内容都非常抽象而没有例子。

我知道当我在xaml中创建一个元素并设置:x:Name = "abc"然后在cs文件中我可以通过abc.fieldORmethod()访问这个对象,但其余的是什么。 有人可以提供下面这些陈述的例子吗?

  • x:Key :为ResourceDictionary中的每个资源设置唯一键 (或其他框架中的类似字典概念)。 x:关键会 可能占典型的x:用法的90% WPF应用程序的标记。 x:Class:指定CLR名称空间和 为XAML页面提供代码隐藏的类的类名。 你必须有这样一个类来支持WPF的代码隐藏 编程模型,因此你几乎总是看到x:mapped, 即使没有资源。
  • x:Name :指定存在的实例的运行时对象名称 在处理对象元素之后的运行时代码中。一般来说, 您将经常为x:Name使用WPF定义的等效属性。 这些属性专门映射到CLR支持属性,并且是 因此,您可以更方便地进行应用程序编程 经常使用运行时代码来查找命名元素 初始化XAML。最常见的此类财产是 FrameworkElement.Name。当等效时,您可能仍然使用x:Name 特定于不支持WPF框架级名称属性 类型。这种情况发生在某些动画场景中。
  • x:Static :启用一个返回静态值的引用 否则是XAML兼容的属性。
  • x:Type :根据类型名称构造一个Type引用。这是 用于指定采用Type的属性,例如Style.TargetType, 虽然该属性经常具有本地字符串到类型的转换 以这种方式使x:Type标记扩展使用是可选的。

1 个答案:

答案 0 :(得分:17)

x:键用于您想要定义某些可在xaml中重用的资源。它相当于普通词典的密钥。

<Window.Resources>
   <Style x:Key="ButtonStyle"/>
</Window.Resources>

x:静态用于捐赠一些静态数据。假设您要使用在SystemColors枚举下定义的一些静态颜色声明画笔。

<SolidColorBrush Color="{x:Static SystemColors.ControlColor}" />

x:类型相当于C#中的Type类。它表示类的类型。

<Style TargetType="{x:Type Button}"/>

x:名称用于提供控件名称,以便可以使用该名称从后面的代码访问它,也可以使用ElementName在XAML中绑定。

<TextBlock x:Name="txt1" Text="Test"/>
<TextBlock x:Name="txt2" Text="{Binding Text,ElementName=txt}"/>