积极答复者
MVVM中View为一个窗体ViewModel里如何能控制该窗体的关闭

问题
答案
-
这个并没有一个很常规解决方法,但是我们确实可以在ViewModel维护一份他所有关联的View的键值对表,然后可以在ViewModel直接操作View.
我个人比较喜欢的是通过第三方类来管理应用中所有的ViewModel和View的关系,这个类中可以维护一个ViewModel和View 的对应表,然后也可以暴露一些方法让ViewModel可以去直接影响View. 这种方法很像Prism中的 ModuleCatalog 来管理ViewModel 模块,然后在ViewModel中可以通过其IRegionManager来操作和影响View上的Region.
很久之前写过的一个例子,比较简陋:https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21466&authkey=ABr8xDaNgWeyfK8 里面有类似的代码
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 MakubeXSoft 2012年5月25日 3:15
-
全部回复
-
这个并没有一个很常规解决方法,但是我们确实可以在ViewModel维护一份他所有关联的View的键值对表,然后可以在ViewModel直接操作View.
我个人比较喜欢的是通过第三方类来管理应用中所有的ViewModel和View的关系,这个类中可以维护一个ViewModel和View 的对应表,然后也可以暴露一些方法让ViewModel可以去直接影响View. 这种方法很像Prism中的 ModuleCatalog 来管理ViewModel 模块,然后在ViewModel中可以通过其IRegionManager来操作和影响View上的Region.
很久之前写过的一个例子,比较简陋:https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21466&authkey=ABr8xDaNgWeyfK8 里面有类似的代码
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 MakubeXSoft 2012年5月25日 3:15
-