首页 文章

x的含义:键,x:类x:类型x:XAML中的静态[关闭]

提问于
浏览
6

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

并且有一部分描述了什么: x:Key, x:Class, x:Name 等但问题是所有关于它的说法都非常抽象而没有例子 .

我知道当我在xaml中创建一个元素并设置: x:Name = "abc" 然后在cs文件中我可以通过 abc.fieldORmethod() 访问这个对象,但其余的是什么 . Could anybody provide explanation with examples for that statements below?

  • x:Key :为 ResourceDictionary (或其他框架中的类似字典概念)中的每个资源设置唯一键 . x:密钥可能会占到您在典型WPF应用程序标记中看到的x:用法的90% . x:Class :指定为XAML页面提供代码隐藏的类的CLR名称空间和类名 . 你必须有这样一个类来支持WPF编程模型的代码隐藏,因此你几乎总能看到x:mapped,即使没有资源 .

  • x:Name :指定处理对象元素后存在于运行时代码中的实例的运行时对象名称 . 通常,您将经常为x:Name使用WPF定义的等效属性 . 这些属性专门映射到CLR支持属性,因此更方便应用程序编程,您经常使用运行时代码从初始化的XAML中查找命名元素 . 最常见的此类 property 是 FrameworkElement.Name . 当特定类型不支持等效的WPF框架级Name属性时,您仍可以使用x:Name . 这在某些动画场景中会发生 .

  • x:Static :启用一个返回静态值的引用,否则该值不是XAML兼容的属性 .

  • x:Type :根据类型名称构造一个Type引用 . 这用于指定采用Type的属性,例如 Style.TargetType ,尽管该属性经常具有本机字符串到类型的转换,使得x:Type标记扩展使用是可选的 .

1 回答

  • 16

    x:Key 用于您想要定义一些可以在您的xaml中重用的资源 . 它相当于普通字典的Key .

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

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

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

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

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

    x:Name 用于提供控制名称,以便可以使用该名称从后面的代码访问它,或者可以使用ElementName在XAML中绑定 .

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

相关问题