无法绑定到属性

时间:2015-01-08 10:09:08

标签: c# wpf xaml data-binding

我得到了以下标记。

<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

如何绑定到静态成员的非静态字段?

为什么我要这样做?因为我想重用域对象模型,而那些类没有配备静态成员。

2 个答案:

答案 0 :(得分:2)

SomeProp是实例属性,因此您无法使用x:Static来访问它。您可以使用静态SourcePath

的组合绑定到它
<TextBox ...
         Text="{Binding 
           Source={x:Static local:MainWindow.Boundie}, 
           Path=SomeProp}"/> 

答案 1 :(得分:0)

<object property="{x:Static prefix:typeName.staticMemberName}" .../>

http://msdn.microsoft.com/en-us/library/ms742135.aspx