Dea*_*uga 5 wpf design-patterns mvvm
假设通过将其转换为VM实例来获取对VM的引用,即ViewModel发布一个Event和View正在使用该VM的DataContext订阅者:EventDataContext
vm = DataContext as MainViewModel;
if (vm == null) return;
vm.SomeUIRelatedNotice += DoSomethingUIRelated;
Run Code Online (Sandbox Code Playgroud)
我看到这个的方式,虚拟机仍然是分离的,它的可测试性不会受到任何影响,并且View已经有了对VM的引用所以我认为没有任何问题,但我想听听MVVM纯粹主义者的意见,如果他们认为这是糟糕的设计,对MVVM模式有负面影响,如果是这样,为什么呢?
只要视图模型本身不执行任何视图逻辑,我就不认为这会破坏 MVVM 模式。
在你的例子中,视图模型试图以某种方式交互和引导视图,所以你可能应该知道还有其他方法可以实现这种行为,这些方法被认为是更纯粹的 MVVM:
Messenger服务EventAggregator或其交互模式| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |