コード例 #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 TopLevelController()
        {
            View = new UIView(UIScreen.MainScreen.Bounds);
            View.AddGestureRecognizer(new UIPanGestureRecognizer(Pan));

            ContentView = new AddShadowView {
                DrawShadow = false
            };

            CloseMenuTapDetectView = new UIView {
                Alpha           = 0.011f,
                BackgroundColor = UIColor.Black,
                Frame           = new RectangleF(View.Frame.Width / 2, 0, View.Frame.Width / 2, View.Frame.Height)
            };

            CloseMenuTapDetectView.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                View.SendSubviewToBack(CloseMenuTapDetectView);

                UIView.Animate(0.2, 0, UIViewAnimationOptions.CurveEaseOut, () => {
                    ContentView.Frame = View.Frame;
                }, () => {
                    MenuClosed.Raise();
                });
            }));

            MenuOpened += () => {
                View.BringSubviewToFront(CloseMenuTapDetectView);
            };

            MenuClosed += () => {
                ContentView.DrawShadow = false;
            };

            View.AddSubviews(
                CloseMenuTapDetectView,
                new MenuView(View.Frame),
                ContentView
                );
        }
コード例 #6
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);
        }
コード例 #7
0
 internal static void InvokeMenuClosed(IClickableMenu priorMenu)
 {
     MenuClosed.Invoke(null, new EventArgsClickableMenuClosed(priorMenu));
 }
コード例 #8
0
 private void OnExit()
 {
     MenuClosed?.Invoke(this, new ItemLetterMenuClosedEventArgs(itemMenu.SelectedItem));
 }
コード例 #9
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));
 }
コード例 #10
0
 public void CloseMenu()
 {
     MenuClosed?.Invoke(this, EventArgs.Empty);
 }