Есть ли способ использовать MVVM Light для обработки событий приложений, таких как Закрытые, Деактивированные, Активированные и т. Д.?MVVM Light - страница WP7/события приложения
3
A
ответ
4
Одна вещь, которую вы могли бы сделать, это обработать эти события в App.xaml.cs и отправить им сообщение, используя экземпляр Messenger по умолчанию. Затем просто нужно зарегистрировать любые модели моделей для получения сообщения. Если вам нужно отменить событие, используйте сообщение с обратным вызовом, сообщающее приложению отменить.
5
Благодаря Мэтту Касто для отправки меня в правильном направлении.
Вот рабочий код:
App.xaml.cs:
private void Application_Activated(object sender, ActivatedEventArgs e)
{
Messenger.Default.Send(new NotificationMessage<AppEvents>(AppEvents.Activated, string.Empty));
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
Messenger.Default.Send(new NotificationMessage<AppEvents>(AppEvents.Deactivated, string.Empty));
}
private void Application_Closing(object sender, ClosingEventArgs e)
{
Messenger.Default.Send(new NotificationMessage<AppEvents>(AppEvents.Closing, string.Empty));
}
ViewModel:
Messenger.Default.Register<NotificationMessage<AppEvents>>(this, n =>
{
switch (n.Content)
{
case AppEvents.Deactivated:
_sessionPersister.Persist(this);
break;
case AppEvents.Activated:
var model = _sessionPersister.Get<TrackViewModel>();
break;
}
});
+0
Да, это сработало. Но как насчет ApplicationLaunching? Можно ли создать ViewModel из App.xaml.cs? –
Смежные вопросы
- 1. Глобальный обработчик исключений для приложения MVVM Light
- 2. MVVM Light слишком быстр :)
- 3. MVVM light - push-уведомления
- 4. MVVM light и ViewModelLocator
- 5. Универсальное приложение - Mvvm light
- 6. MVVM Light Messeging issue
- 7. MVVM Light toolkit + Messenger
- 8. WPF MVVM Light Navigation
- 9. MVVM light listview selecteditem
- 10. 'System.Reflection.TargetInvocationException' (внутри MVVM Light)
- 11. MVVM Light и выпадающий
- 12. MVVM Light WPF Messenger
- 13. mvvm light wpf unregister
- 14. MVVM Light - ViewModel reusage
- 15. MVVM Light RaisePropertyChanged
- 16. MVVM Light Threading Пример
- 17. MVVM Light Messaging
- 18. CommandParameter с MVVM Light
- 19. MVVM Light DataGrid привязка
- 20. MVVM Light DialogMessage
- 21. mvvm light - messaging
- 22. MVVM Light литейных сообщения
- 23. MVVM Light Messaging Issue
- 24. MVVM Light RaisePropertyChanged Error
- 25. Навигационная страница ListBox MVVM Light в Windows Phone
- 26. MVVM Light - Изменение начального URI
- 27. Редактирование записей с MVVM/MVVM-Light
- 28. MVVM light RelayCommand триггеры дважды
- 29. Призма и MVVM Light Toolkit
- 30. Mvvm Light ViewModel With ViewModel
мне это нравится. Благодаря! – chief7