コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        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;
        }
コード例 #5
0
        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();
        }