C# 使用{x:Static}访问静态类中静态字段的属性
在WPF中,我试图绑定到静态类中只读字段的属性, 我已经研究了在这样的静态类中,哪一个允许绑定到const stringC# 使用{x:Static}访问静态类中静态字段的属性,c#,wpf,C#,Wpf,在WPF中,我试图绑定到静态类中只读字段的属性, 我已经研究了在这样的静态类中,哪一个允许绑定到const string <TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" /> <TextBlock Text="{x:Static A:MyConstants.SomeReadOnlyField.StringProp}" /> 我想做的就是这样 <TextBlock Text="{x:S
<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" />
<TextBlock Text="{x:Static A:MyConstants.SomeReadOnlyField.StringProp}" />
我想做的就是这样
<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" />
<TextBlock Text="{x:Static A:MyConstants.SomeReadOnlyField.StringProp}" />
但这给了我一个错误
不支持嵌套类型
该错误意味着您无法使用复杂类型(readonlyfield)值(stringprop)的路径
第一个示例中的prop应该是MyConstants的属性。该错误意味着您不能使用指向复杂类型(readonlyfield)的值(stringprop)的路径
第一个示例中的prop应该是MyConstants的属性如果
SomeReadOnlyField
是类MyConstants
中的公共静态只读
字段,并且该属性有一个publicStringProp
属性,您可以这样编写绑定:
Text="{Binding Path=StringProp
Source={x:Static A:MyConstants.SomeReadOnlyField}}"
请注意,虽然绑定
路径
必须解析为公共属性的名称,但用于绑定源
的x:Static
标记扩展可以很好地引用静态字段。前提是SomeReadOnlyField
是类MyConstants
中的公共静态只读
字段,这是一个publicStringProp
属性,您可以这样编写绑定:
Text="{Binding Path=StringProp
Source={x:Static A:MyConstants.SomeReadOnlyField}}"
请注意,虽然绑定
路径
必须解析为公共属性的名称,但用于绑定源
的x:Static
标记扩展可以很好地引用静态字段。您不能绑定到WPF中的字段。仅在属性上不能绑定到WPF中的字段。只有在房地产上才能完美地工作谢谢