我得到了以下标记。
<TextBox x:Name="Address"
Text="{x:Static local:MainWindow.Boundie.SomeProp}"
</TextBox>
在后面的代码中我有一个像这样的静态属性。
static Something Boundie { get; set; }
public class Something { public String SomeProp { get; set; } }
问题是它唠叨了#34;预期类型&#34;当我将鼠标悬停在 Boundie 和&#34;静态成员期望&#34;当我将鼠标悬停在 SomeProp 上时。当我遗漏后者时,它只会抱怨预期的类型是 String 但它只看到 Something 。
如何绑定到静态成员的非静态字段?
为什么我要这样做?因为我想重用域对象模型,而那些类没有配备静态成员。
答案 0 :(得分:2)
SomeProp
是实例属性,因此您无法使用x:Static
来访问它。您可以使用静态Source
和Path
<TextBox ...
Text="{Binding
Source={x:Static local:MainWindow.Boundie},
Path=SomeProp}"/>
答案 1 :(得分:0)
<object property="{x:Static prefix:typeName.staticMemberName}" .../>