在MainWindow的代码隐藏的构造函数中,定义一个MainWindowViewModel并将其分配给DataContext。
然后MainWindow中有两个按钮,一个按钮的Click绑定到代码隐藏中的OnClick函数,另一个按钮的Command绑定到MainWindowViewModel中的ClickCommand。
两个函数都输出 ViewModel 的哈希码 | 当点击这两个按钮时,输出的HashCode不同,证明它们是两个不同的ViewModel实例。
那么,为什么同一个 MainWindow 有两个不同的 ViewModel 实例?
我之前遇到过一个bug,通过Click更新ViewModel中的ObsverableCollection后UI不会更新。只有使用 Command 更新 ObsverableCollection 后,UI 才会正确显示。
感谢您的帮助!