WPF文本块绑定问题

时间:2010-05-19 23:27:00

标签: wpf data-binding

我试图了解整个MVVM的事情和绑定。我有一个ViewModel类,它具有另一个类的属性。我想将该类的(字符串)属性绑定到文本块的文本。

我将ViewModel设置为我的window \ page的数据上下文。然后这样做:

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

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

我可以直接公开StreetName,如下所示:

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

所以我在第一个例子中做错了。这看起来很简单......我只是对元素名称或应该设置的内容感到困惑?

感谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

ElementName用于引用逻辑树中的XAML元素。由于您尝试绑定的不是元素,因此ElementName不是正确的方法。在这种情况下,虚线路径表示法是最简单的方法:

{Binding Path=myAddressClass.StreetName}