我正在研究一个项目并学习SL / MVVM。我正在使用MVVM灯,感觉好像我对事情有了很好的掌握。我理解对VM的绑定控制以及向VM发送事件/命令。
我有几个问题:
在MVVM应用程序中,如何从VM访问Application对象,以便调用Application.Install或检查安装状态?或者你只是把它放在该案例的视图后面的代码中?我想这可以通过MVVM消息传递完成,但你仍然会在后面的代码中注册一个监听器。
我不确定这是否会发生,但是如何从VM访问View / Control中的方法来做一些无法通过数据绑定或命令/事件来完成的事情?这是依赖对象/属性发挥作用的地方吗?
答案 0 :(得分:1)
应用程序应提供获取与Application
单例相关的信息的服务;与在整个申请中可以使用的任何数据一样;你的或框架。
如果您需要从ViewModel访问UIElement
/ FrameworkElement
/ Control
上的方法,那么这将是查看自定义Control
或UserControl
提供所需的行为。这通常通过Triggers
和Behaviors
解决。