BudgetAnalyser.Statement.StatementUserControl.OnDataContextChanged C# (CSharp) Метод

OnDataContextChanged() приватный Метод

private OnDataContextChanged ( object sender, System.Windows.DependencyPropertyChangedEventArgs e ) : void
sender object
e System.Windows.DependencyPropertyChangedEventArgs
Результат void
        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();
        }