private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!this.subscribedToMainWindowClose)
{
// Once only initialisation:
this.subscribedToMainWindowClose = true;
Controller.RegisterListener<TransactionsChangedMessage>(this, OnTransactionsChanged);
Controller.RegisterListener<ShellDialogResponseMessage>(this, OnShellDialogResponseMessageReceived);
Controller.RegisterListener<NavigateToTransactionMessage>(this, OnNavigateToTransactionRequestReceived);
}
if (Controller != null)
{
Controller.ViewModel.PropertyChanged += OnViewModelPropertyChanged;
}
if (Controller == null)
{
((StatementController)e.OldValue).ViewModel.PropertyChanged -= OnViewModelPropertyChanged;
return;
}
if (Controller.ViewModel.Statement == null)
{
return;
}
ApplyBucketFilter();
}