У меня довольно простая (я надеюсь:)) проблема:
В MVVM View обычно прослушивает изменения свойств ViewModel. Тем не менее, мне иногда хотелось слушать событие, так что, например, View мог бы начать анимацию или закрыть окно, когда сигналы VM.
Выполнение этого с помощью свойства bool с NotifyPropertyChanged (и запуск анимации только при изменении от false до true) возможно, но это похоже на хак, я бы предпочел разоблачить событие, поскольку оно семантически корректно.
Кроме того, я хотел бы сделать это без кода в codebehind, так как do viewModel.myEvent += handler
означало бы, что я бы вручную отменил регистрацию события, чтобы позволить View быть GC'd - WPF Views уже доступны для слабого прослушивания свойств, и я бы предпочел программировать только декларативно в представлении.
Стандартная подписка на сильное событие также плоха, потому что мне нужно переключить несколько ViewModels для одного представления (потому что при создании View каждый раз требуется слишком много времени процессора).
Спасибо за идеи (если есть стандартное решение, достаточно ссылки на msdn)!