XAML中“{x:Static}”的含义是什么?

时间:2009-02-03 16:52:47

标签: .net wpf xaml

{x:Static}在XAML中的含义是什么?

代码示例:

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

3 个答案:

答案 0 :(得分:60)

这是一种将任何静态值插入XAML的方法。例如,如果我有一个类:

namespace A 
{ 
    public class MyConstants 
    {
        public static readonly string SomeConstantString = "BAM!";
    }
}

我可以使用XAML将它放入WPF UI中,如下所示:

<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" />

请注意,您必须将定义MyConstants的命名空间导入XAML。所以在or元素中做了类似的事情:

xmlns:A="clr-namespace:A"

答案 1 :(得分:6)

来自MSDN:http://msdn.microsoft.com/en-us/library/ms742135.aspx

引用以公共语言规范(CLS)方式定义的任何静态按值代码实体引用的属性在加载XAML页面的其余部分之前进行评估,并可用于在XAML中提供属性的值。

答案 2 :(得分:0)

我发现问题XAML - Accessing static fields有一个链接到MSDN文档x:Static Markup Extension的答案。我认为这对网站来说仍然有用。