BudgetAnalyser.LedgerBook.LedgerBookUserControl.OnDataContextChanged C# (CSharp) Method

OnDataContextChanged() private method

private OnDataContextChanged ( object sender, System.Windows.DependencyPropertyChangedEventArgs e ) : void
sender object
e System.Windows.DependencyPropertyChangedEventArgs
return void
        private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (!this.subscribedToMainWindowClose)
            {
                this.subscribedToMainWindowClose = true;
            }

            if (e.OldValue != null)
            {
                ((LedgerBookController)e.OldValue).LedgerBookUpdated -= OnLedgerBookUpdated;
                ((LedgerBookController)e.OldValue).DeregisterListener<LedgerBookReadyMessage>(this, OnLedgerBookReadyMessageReceived);
            }

            if (e.NewValue != null)
            {
                ((LedgerBookController)e.NewValue).LedgerBookUpdated += OnLedgerBookUpdated;
                Controller.RegisterListener<LedgerBookReadyMessage>(this, OnLedgerBookReadyMessageReceived);
            }

            DynamicallyCreateLedgerBookGrid();
        }