当程序关闭时,我想保存对数据的任何更改。我目前有一种方法可以在 ViewModel 中执行此操作。我在OnExit
文件中有app.xaml
方法,但如何从此处访问 ViewModel 中的save-method?
App.xaml.cs
protected override void OnExit(ExitEventArgs e)
{
//This is were I want to access the ViewModel
base.OnExit(e);
}
ViewModel.cs
public void Save(){
//This method save to the DB
}
答案 0 :(得分:2)
考虑使用观察者模式。 将您的视图模型注册为App的Close事件的订阅者。 当应用程序的关闭事件被触发时,通知您的订阅者(即视图模型),以便他们可以对该事件作出反应。
Prism提供了一个EventAggregator。
Xamarin.Forms提供了一个MessagingCenter。
Bizmonger提供MessageBus。
您可以使用指定的中介来管理发布者/订阅模型,而不需要彼此了解彼此。