WPF MVVM – 可以单个PropertyChanged更新DataTemplate的所有Data绑定?

我有一个具有大量属性的ViewModel类(Say 50)。一旦将数据设置为我需要更新UI的所有属性。我知道常见的解决方案是在所有属性设置器上引发PropertyChanged。

我想知道有没有办法通过我的DataTemplate通过一个通知来更新所有的绑定?一个想法是有一个IsLoaded属性引发了propertieschanged,但是如何使用它来更新整个DataTemplate。我对XAML的总体解决方案感兴趣。

最后我从同事Josh Smith得到一个答案,这很简单,我们只需要使用null或String.Empty作为属性名称来引发一个PropertyChanged事件。这将告诉WPF绑定系统重新评估该对象的所有绑定。在使用这个时我有两大优势。

>在每个属性上提升单个事件的开销将减少到仅从View-Model到UI的一个事件。性能
会增加。
>在编写代码时,我们可以使用非常干净的{get; set;}语法
写作

假设:正如我在这里假设的一个非常特殊的条件,我的所有属性都在同一时间更新

我有一个blogpost discussing this here

更新:根据kek444的评论

http://stackoverflow.com/questions/1135012/wpf-mvvm-can-a-single-propertychanged-update-all-the-data-bindings-of-a-datate

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:WPF MVVM – 可以单个PropertyChanged更新DataTemplate的所有Data绑定?