“{x:Static}”在 XAML 中意味着什么?

问题描述 投票:0回答:3

XAML 中

{x:Static}
是什么意思?

代码示例:

<SolidColorBrush Color="{x:Static SystemColors.ControlColor}" />
.net wpf xaml
3个回答
73
投票

这是一种将任何静态值插入到 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"

6
投票

来自 MSDN:x:静态标记扩展

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


0
投票

我发现问题 XAML - 访问静态字段 有一个链接到 MSDN 文档 x:静态标记扩展 的答案。我认为这在网站上仍然有用。

© www.soinside.com 2019 - 2024. All rights reserved.