1

遵循示例(示例 2)数据绑定有效,并且 UI 根据 的值进行更新ArtistName

如果 xaml 绑定是这样写的:

<Label Grid.Column="1" Grid.Row="1" Content="{Binding}" />

代替

<Label Grid.Column="1" Grid.Row="1" Content="{Binding ArtistName}" />

然后调用 ToString SongViewModel,即使我像这样覆盖它:

 public override String ToString()
 {
     return Song.ArtistName;
 }

该值不会通过 DataBinding 更新。其余代码与链接中给出的示例相同。

为什么在这种情况下价值没有变化?

4

1 回答 1

2

WPF 绑定不能那样工作。

如果您{Binding}那么 WPF 刷新该绑定的唯一方法是重置DataContext. 该 Binding 没有PropertyPath可遵循的因此INotifyPropertyChanged不能被调用来刷新那种 Binding。

于 2013-05-20T14:47:36.340 回答