使用{x:Static}访问静态类中静态字段的属性

时间:2017-02-22 12:25:55

标签: c# wpf

在WPF中,我尝试绑定到静态类中只读字段的属性, 我已经查看了this,它允许绑定到像这样的静态类中的const字符串

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

我试图做的就像这样

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

但它给了我一个错误

  

不支持嵌套类型

2 个答案:

答案 0 :(得分:2)

如果SomeReadOnlyFieldpublic static readonly类中的MyConstants字段,并且该字段具有公共StringProp属性,则可以像这样编写Binding:

Text="{Binding Path=StringProp
               Source={x:Static A:MyConstants.SomeReadOnlyField}}"

请注意,虽然绑定Path必须解析为公共属性的名称,但用于绑定x:Static的{​​{1}}标记扩展可以很好地引用静态字段。

答案 1 :(得分:0)

错误意味着您不能使用作为复杂类型值(readonlyfield)的值(stringprop)的路径。

你的第一个例子中的道具应该是MyConstants的属性