none
MVVM中View为一个窗体ViewModel里如何能控制该窗体的关闭 RRS feed

  • 问题

  • MVVM中View为一个窗体ViewModel里如何能控制该窗体的关闭

    或者ViewModel里如何获取 View对象? 



    Everyone Is NO.1

    2012年5月22日 15:01

答案

  • 这个并没有一个很常规解决方法,但是我们确实可以在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

    2012年5月25日 3:11
    版主
  • 我一般都会有个静态属性去保存这些控件的实例对象。当然,单例的才保存

    与我交流:点击这里给我发消息

    2012年5月28日 9:17

全部回复