/// <summary> /// Handles quick access button drop down menu closed /// </summary> protected void OnQuickAccessMenuClosedOrUnloaded(object sender, EventArgs e) { var buttonInQuickAccess = (DropDownButton)sender; buttonInQuickAccess.DropDownClosed -= this.OnQuickAccessMenuClosedOrUnloaded; buttonInQuickAccess.Unloaded -= this.OnQuickAccessMenuClosedOrUnloaded; ItemsControlHelper.MoveItemsToDifferentControl(buttonInQuickAccess, this); }
/// <summary> /// Handles quick access button drop down menu closed /// </summary> protected void OnQuickAccessMenuClosedOrUnloaded(object sender, EventArgs e) { var buttonInQuickAccess = (DropDownButton)sender; buttonInQuickAccess.DropDownClosed -= this.OnQuickAccessMenuClosedOrUnloaded; buttonInQuickAccess.Unloaded -= this.OnQuickAccessMenuClosedOrUnloaded; this.RunInDispatcherAsync(() => { ItemsControlHelper.MoveItemsToDifferentControl(buttonInQuickAccess, this); }, DispatcherPriority.Loaded); }
/// <summary> /// Handles quick access button drop down menu opened /// </summary> protected void OnQuickAccessOpened(object?sender, EventArgs e) { var buttonInQuickAccess = (DropDownButton?)sender; if (buttonInQuickAccess is not null) { buttonInQuickAccess.DropDownClosed += this.OnQuickAccessMenuClosedOrUnloaded; buttonInQuickAccess.Unloaded += this.OnQuickAccessMenuClosedOrUnloaded; ItemsControlHelper.MoveItemsToDifferentControl(this, buttonInQuickAccess); } }
private void Freeze() { this.IsSnapped = true; this.selectedItem = this.SelectedItem; ItemsControlHelper.MoveItemsToDifferentControl(this, this.quickAccessCombo); this.SelectedItem = null; this.quickAccessCombo.SelectedItem = this.selectedItem; this.quickAccessCombo.Menu = this.Menu; this.Menu = null; this.quickAccessCombo.IsSnapped = false; }
private void Unfreeze() { var text = this.quickAccessCombo.Text; this.selectedItem = this.quickAccessCombo.SelectedItem; this.quickAccessCombo.IsSnapped = true; ItemsControlHelper.MoveItemsToDifferentControl(this.quickAccessCombo, this); this.quickAccessCombo.SelectedItem = null; this.SelectedItem = this.selectedItem; this.Menu = this.quickAccessCombo.Menu; this.quickAccessCombo.Menu = null; this.IsSnapped = false; this.Text = text; this.UpdateLayout(); }