2010-05-19 53 views
1

我试图让我的头绕着整个MVVM的东西和绑定。我有一个ViewModel类,它有一个属性是另一个类。我想将该类的(字符串)属性绑定到文本块的文本。WPF文本块绑定问题

我将ViewModel设置为我的窗口\页面的数据上下文。然后执行此操作:

<TextBlock Text="{Binding ElementName=myAddressClass, Path=StreetName}" /> 

但这不起作用。文本是空的。

我可以直接暴露StreetName如下这一点也适用:

<TextBlock Text="{Binding Path=StreetName}" /> 

所以我做错了什么在第一个例子。这似乎很简单...我只是混淆了一个元素名是或应该设置为什么?

谢谢

回答

1

我想你可能会感到困惑。如果要绑定到MyAddress.StreetName,请执行以下操作:Text="{Binding MyAddress.StreetName}"确保MyAddress是您的DataContext的属性。 ElementName用于绑定到其他控件。

1

ElementName用于引用逻辑树中的XAML元素。因为你试图绑定的元素不是元素,ElementName不是正确的方法。虚线路径符号是此情况下最简单的方法:

{Binding Path=myAddressClass.StreetName}