XAML 中
{x:Static}
是什么意思?
代码示例:
<SolidColorBrush Color="{x:Static SystemColors.ControlColor}" />
这是一种将任何静态值插入到 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"
来自 MSDN:x:静态标记扩展
引用以公共语言规范 (CLS) 兼容方式定义的任何静态按值代码实体。引用的属性在加载 XAML 页面的其余部分之前进行评估,并可用于提供 XAML 中的属性值。
我发现问题 XAML - 访问静态字段 有一个链接到 MSDN 文档 x:静态标记扩展 的答案。我认为这在网站上仍然有用。