protected override void OnUnloaded() { this.DataContext = null; this.viewModel.Dispose(); this.viewModel = null; this.storyboardFadeOut.Completed -= this.StoryboardFadeOutCompletedHandler; this.storyboardHide.Completed -= this.StoryboardHideCompletedHandler; this.root.MouseLeftButtonDown -= RootMouseButtonHandler; this.root.MouseRightButtonDown -= RootMouseButtonHandler; this.root.MouseEnter -= RootMouseEnterHandler; this.root.MouseLeave -= RootMouseLeaveHandler; // to ensure that the control has a hiding flag (used for ClientComponentNotificationAutoHideChecker) this.IsHiding = true; }
protected override void OnLoaded() { this.viewModel = new ViewModelQuestEntry(this.QuestEntry, callbackOnFinishedStateChanged: _ => { }); this.DataContext = this.viewModel; this.UpdateLayout(); this.viewModel.RequiredHeight = (float)this.ActualHeight; this.storyboardFadeOut.Completed += this.StoryboardFadeOutCompletedHandler; this.storyboardHide.Completed += this.StoryboardHideCompletedHandler; this.root.MouseLeftButtonDown += this.RootMouseButtonHandler; this.root.MouseRightButtonDown += this.RootMouseButtonHandler; this.root.MouseEnter += this.RootMouseEnterHandler; this.root.MouseLeave += this.RootMouseLeaveHandler; this.storyboardShow.Begin(); }