Silverlight MVVM问题

Silverlight MVVM问题,silverlight,mvvm,Silverlight,Mvvm,我正在做一个项目,一边学习SL/MVVM。我使用的是MVVM light,感觉自己对事物的把握不错。我了解将控件绑定到VM以及向VM发送事件/命令 我有几个问题: 在MVVM应用程序中,如何从VM访问应用程序对象以调用application.Install或检查安装状态?或者你只是把它放在一个视图的代码后面?我想这可以通过MVVM消息传递来完成,但您仍然需要在代码隐藏中注册一个侦听器 我不确定是否会发生这种情况,但如何从VM访问视图/控件中的方法来执行无法通过数据绑定或命令/事件来完成的操作?这

我正在做一个项目,一边学习SL/MVVM。我使用的是MVVM light,感觉自己对事物的把握不错。我了解将控件绑定到VM以及向VM发送事件/命令

我有几个问题:

在MVVM应用程序中,如何从VM访问应用程序对象以调用application.Install或检查安装状态?或者你只是把它放在一个视图的代码后面?我想这可以通过MVVM消息传递来完成,但您仍然需要在代码隐藏中注册一个侦听器


我不确定是否会发生这种情况,但如何从VM访问视图/控件中的方法来执行无法通过数据绑定或命令/事件来完成的操作?这就是依赖对象/属性发挥作用的地方吗?

应用程序应提供一种服务,用于获取与
应用程序相关的信息;与可在整个应用程序中使用的任何数据一样;你的或框架


如果您需要从ViewModel访问
UIElement
/
FrameworkElement
/
控件
上的方法,这将是查看自定义
控件
用户控件
以提供所需行为的关键。这通常是通过
触发器
行为

解决的,应用程序提供的服务通常是通过消息传递实现的吗?我可以看到在Application对象中注册和处理诸如Application.Install之类的消息。@DerekBeattie,如果您将应用程序拆分为不同的独立项目/模块;然后是的,可以使用消息传递框架。如果您正在利用IoC/DI框架,那么可以将服务注入关心使用该服务的类中。在这种情况下,服务可以注册到所选的容器中,使其表现得像一个单例……从而允许您根据需要向IApplicationService添加功能或利用应用程序单例。