コード例 #1
0
 private void fire_OnDropDownClosed()
 {
     if (MenuClosed != null)
     {
         try
         {
             MenuClosed.Invoke(this, new ToolStripDropDownClosedEventArgs(new ToolStripDropDownCloseReason()));
         }
         catch { }
     }
 }
コード例 #2
0
        public ContextActionsBulbPopup(UIElement parent) : base(parent)
        {
            UseLayoutRounding = true;
            TextOptions.SetTextFormattingMode(this, TextFormattingMode.Display);

            StaysOpen          = true;
            AllowsTransparency = true;

            _headerImage = new Image();

            _mainItem = new MenuItem
            {
                ItemContainerStyle = CreateItemContainerStyle(),
                Header             = _headerImage,
                Padding            = new Thickness(0),
            };

            _mainItem.SubmenuOpened += (sender, args) =>
            {
                if (ReferenceEquals(args.OriginalSource, _mainItem))
                {
                    _isOpen = true;
                    MenuOpened?.Invoke(this, EventArgs.Empty);
                }
            };

            Closed += (sender, args) =>
            {
                if (_isOpen)
                {
                    _isOpen = false;
                    MenuClosed?.Invoke(this, EventArgs.Empty);
                }
            };

            var menu = new Menu
            {
                Background      = Brushes.Transparent,
                BorderBrush     = _mainItem.BorderBrush,
                BorderThickness = _mainItem.BorderThickness,
                Items           = { _mainItem }
            };

            Child = menu;
        }
コード例 #3
0
        public ContextActionsBulbPopup(Control parent) : base(parent)
        {
            UseLayoutRounding = true;

            StaysOpen = true;
            _mainItem = new MenuItem
            {
                Styles = { CreateItemContainerStyle() },
                Header = new Image
                {
                    Source = this.FindStyleResource("Bulb") as IBitmap,
                    Width  = 16,
                    Height = 16
                }
            };

            _mainItem.SubmenuOpened += (sender, args) =>
            {
                if (ReferenceEquals(sender, _mainItem))
                {
                    _isOpen = true;
                    MenuOpened?.Invoke(this, EventArgs.Empty);
                }
            };

            Closed += (sender, args) =>
            {
                if (_isOpen)
                {
                    _isOpen = false;
                    MenuClosed?.Invoke(this, EventArgs.Empty);
                }
            };

            var menu = new Menu
            {
                Background      = Brushes.Transparent,
                BorderBrush     = _mainItem.BorderBrush,
                BorderThickness = _mainItem.BorderThickness,
                Items           = new[] { _mainItem }
            };

            Child = menu;
        }
コード例 #4
0
        public ContextActionsBulbPopup(Control parent) : base(parent)
        {
            UseLayoutRounding = true;

            StaysOpen = true;

            _headerImage = new DrawingPresenter();

            _mainItem = new MenuItem
            {
                Styles = { CreateItemContainerStyle() },
                Header = _headerImage
            };

            _mainItem.SubmenuOpened += (sender, args) =>
            {
                if (ReferenceEquals(sender, _mainItem))
                {
                    _isOpen = true;
                    MenuOpened?.Invoke(this, EventArgs.Empty);
                }
            };

            Closed += (sender, args) =>
            {
                if (_isOpen)
                {
                    _isOpen = false;
                    MenuClosed?.Invoke(this, EventArgs.Empty);
                }
            };

            var menu = new Menu
            {
                Background      = Brushes.Transparent,
                BorderBrush     = _mainItem.BorderBrush,
                BorderThickness = _mainItem.BorderThickness,
                Items           = new[] { _mainItem }
            };

            Child = menu;
        }
コード例 #5
0
        public ContextActionsBulbPopup(Control parent, Control placementTarget)
        {
            ((ISetLogicalParent)this).SetParent(parent);

            _placementTarget = placementTarget;

            UseLayoutRounding = true;

            StaysOpen = true;

            if (Application.Current.Styles.TryGetResource("Bulb", out object bulbIcon))
            {
                _headerImage = new DrawingPresenter
                {
                    Drawing = bulbIcon as Drawing,
                    Height  = 16,
                    Width   = 16
                };
            }

            _mainItem = new MenuItem
            {
                Styles  = { CreateItemContainerStyle() },
                Header  = _headerImage,
                Margin  = new Thickness(),
                Padding = new Thickness()
            };

            _mainItem.SelectionChanged += (sender, args) =>
            {
                if (!_mainItem.IsSubMenuOpen)
                {
                    Close();
                }
            };

            _mainItem.SubmenuOpened += (sender, args) =>
            {
                if (ReferenceEquals(sender, _mainItem))
                {
                    _isOpen = true;
                    MenuOpened?.Invoke(this, EventArgs.Empty);
                }
            };

            Closed += (sender, args) =>
            {
                if (_isOpen)
                {
                    _isOpen = false;
                    MenuClosed?.Invoke(this, EventArgs.Empty);
                }
            };

            _mainMenu = new Menu
            {
                Background      = Brushes.Transparent,
                BorderBrush     = _mainItem.BorderBrush,
                BorderThickness = _mainItem.BorderThickness,
                Items           = new[] { _mainItem }
            };

            Child = _mainMenu;

            TextBlock.SetFontFamily(this, new FontFamily("Segoi UI"));
            TextBlock.SetFontSize(this, 14);
            TextBlock.SetForeground(this, Application.Current.Resources["ThemeForegroundBrush"] as IBrush);
        }
コード例 #6
0
 internal static void InvokeMenuClosed(IClickableMenu priorMenu)
 {
     MenuClosed.Invoke(null, new EventArgsClickableMenuClosed(priorMenu));
 }
コード例 #7
0
 private void OnExit()
 {
     MenuClosed?.Invoke(this, new ItemLetterMenuClosedEventArgs(itemMenu.SelectedItem));
 }
コード例 #8
0
 /// <summary>
 /// Called when the letter viewer menu is closed. Raises the <see cref="MenuClosed"/> event./>
 /// </summary>
 private void OnExit()
 {
     MenuClosed?.Invoke(this, new LetterViewerMenuClosedEventArgs(letterMenu.MailId, letterMenu.InteractionRecord));
 }
コード例 #9
0
 public void CloseMenu()
 {
     MenuClosed?.Invoke(this, EventArgs.Empty);
 }