silverlight - 使用 MVVM 处理应用程序事件的首选方法

标签 silverlight mvvm windows-phone-7 mvvm-light

使用 MVVM(在我的情况下为 MVVM Light)时,处理来自应用程序的所有事件的首选方法是什么?所以,像 Application_Launching , Application_Activated , Application_Deactivated , 和 Application_Closing .

我的想法是在 View 模型可以订阅的每个事件上广播一条消息。我的另一个想法是直接从 App.xaml.cs 调用 View 模型上的方法。事件。

最佳答案

您上面提到的那些事件与 View 完全无关,因为 View 要么被创建,要么被这些事件销毁。
这一点使得传播到 ViewModel 代码的事件不必是 MVVM 方式,主要是因为在这些事件引发时间中不涉及 View。
只是为了为“关注点分离”正确实现这一点,您可以让 MainViewModel(主要是单例)拥有所有 4 种方法并直接从 App.xaml 调用它。否则事件委托(delegate)(信使)会更干净。
我假设您想对这些事件进行一些常规操作,例如隔离存储或序列化/反序列化操作。

关于silverlight - 使用 MVVM 处理应用程序事件的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371331/

相关文章:

silverlight - 我可以在EventAggregator中删除重复事件吗?

c# - 如何使用 LINQ to XML 查询日期时间值?

javascript - Knockout JS如何绑定(bind)对象html绑定(bind)的observable

c# - 在 WPF MVVM 中处理模型中的集合

c# - TreeView 项目前台绑定(bind) MVVM

sql-server - 从 Windows Phone 7 连接到 SQL Server

windows-phone-7 - BackgroundAudioPlayer 不会释放音乐文件

silverlight - 数据网格列按钮命令(MVVM)

c# - 如何简化我的代码?

c# - 计划代理内存泄漏