Is this approach correct? I want only one subscription to this events. When I try using unsubscription -=, for some reason events are actually adding and every time it's more.PresentationViewModel is not disposed when closing associated window so I can't rely on IDisposable this time yet it is implemented and events are disposed there also - maybe an overkill.
I want to know if assigning null is going to bring any side effect I might not want.
Thank you.
public PresentationViewModel ViewModel
{
get
{
if (_viewModel != null) return _viewModel;
_viewModel = (PresentationViewModel) DataContext;
_viewModel.OnNavigatedToHandler = null; // <-------------------
_viewModel.OnNavigatedToHandler += OnNavigatedToHandler;
_viewModel.OnNavigatedFromHandler = null; // <-------------------
_viewModel.OnNavigatedFromHandler += OnNavigatedFromHandler;
return _viewModel;
}
}
And previously I added unsubscription this way which resulted in many calls of this methods:
_viewModel.OnNavigatedToHandler -= OnNavigatedToHandler;
_viewModel.OnNavigatedToHandler += OnNavigatedToHandler;
_viewModel.OnNavigatedFromHandler -= OnNavigatedFromHandler;
_viewModel.OnNavigatedFromHandler += OnNavigatedFromHandler;