Example #1
0
        public void TabContextMenuOpen(object sender, MouseButtonEventArgs e)
        {
            var ctxm = new ContextMenuEx {
                IsOpen = true
            };

            e.Handled = true;

            var menu = new MenuItem {
                Header = "自動登録画面の画面設定(_O)..."
            };

            menu.Click += (s2, e2) => CommonManager.MainWindow.OpenSettingDialog(SettingWindow.SettingMode.ReserveSetting);
            ctxm.Items.Add(menu);

            //非表示の時は設定画面のみ
            if (this.IsVisible == false)
            {
                return;
            }

            ctxm.Items.Add(new Separator());
            menu = new MenuItem {
                Header = "並びを保存する(_S)", IsEnabled = dragMover.NotSaved, InputGestureText = MenuBinds.GetInputGestureText(EpgCmds.SaveOrder)
            };
            menu.Click += (s2, e2) => EpgCmds.SaveOrder.Execute(null, dragMover);
            ctxm.Items.Add(menu);
            menu = new MenuItem {
                Header = "並びを元に戻す(_Z)", IsEnabled = dragMover.NotSaved, InputGestureText = MenuBinds.GetInputGestureText(EpgCmds.RestoreOrder)
            };
            menu.Click += (s2, e2) => EpgCmds.RestoreOrder.Execute(null, dragMover);
            ctxm.Items.Add(menu);
        }
Example #2
0
        private void button_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
        {
            var btn         = sender as Button;
            var menuCustom1 = new MenuItem {
                Header = "カスタム色をコンボボックスの選択色で有効化"
            };
            var menuCustom2 = new MenuItem {
                Header = "カスタム色をコンボボックスの選択色で有効化(透過度保持)"
            };
            var menuReset = new MenuItem {
                Header = "カスタム色をリセット"
            };
            var menuSelect = new MenuItem {
                Header = "コンボボックスから現在のカスタム色に近い色を選択"
            };

            var pnl = btn.Parent as Panel;
            var cmb = pnl == null ? null : pnl.Children.OfType <ComboBox>().FirstOrDefault(item => item.Tag as string == btn.Tag as string);

            if (cmb == null)
            {
                return;              //無いはずだけど保険
            }
            menuCustom1.IsEnabled = cmb.SelectedItem != null && cmb.SelectedIndex != cmb.Items.Count - 1;
            menuCustom2.IsEnabled = menuCustom1.IsEnabled;
            menuReset.Click      += (sender2, e2) => btn.Background = new SolidColorBrush(Colors.White);

            var SetColor = new Action <bool>(keepA =>
            {
                var cmbColor = (Color)cmb.SelectedValue;
                if (keepA)
                {
                    cmbColor.A = ((SolidColorBrush)btn.Background).Color.A;
                }
                btn.Background    = new SolidColorBrush(cmbColor);
                cmb.SelectedIndex = cmb.Items.Count - 1;
            });

            menuCustom1.Click += (sender2, e2) => SetColor(false);
            menuCustom2.Click += (sender2, e2) => SetColor(true);
            menuSelect.Click  += (sender2, e2) => ColorSetWindow.SelectNearColor(cmb, ((SolidColorBrush)btn.Background).Color);

            ContextMenu ctxm = new ContextMenuEx();

            ctxm.Items.Add(menuCustom1);
            ctxm.Items.Add(menuCustom2);
            ctxm.Items.Add(menuReset);
            ctxm.Items.Add(menuSelect);
            ctxm.IsOpen = true;
        }
Example #3
0
        /// <summary>
        /// 创建右键菜单
        /// </summary>
        /// <returns></returns>
        private void createContextMenu()
        {
            Style winxmenu = Current.Resources["WinXTaskBarContextMenuItemStyle"] as Style;

            _cmenu = new ContextMenuEx {
                Style = Current.Resources["WinXTaskBarContextMenuStyle"] as Style
            };
            MenuItemEx exit = new MenuItemEx {
                Style = winxmenu, LabelString = "退出", Command = MainVM.Singleton.Operation, CommandParameter = "CMD_EXIT"
            };
            MenuItemEx about = new MenuItemEx {
                Style = winxmenu, LabelString = "关于", Command = MainVM.Singleton.Operation, CommandParameter = "CMD_ABOUT"
            };

            _cmenu.Items.Add(about);
            _cmenu.Items.Add(exit);
        }
        private void listBox_serviceView_ContextMenu_Set()
        {
            // 右クリックメニューにSIDのソートを登録
            var cm          = new ContextMenuEx();
            var menuItemAsc = new MenuItem();

            menuItemAsc.Header  = "サブチャンネルの結合表示を解除";
            menuItemAsc.ToolTip = "同一TSIDのサービスの結合表示が解除されるようServiceIDを昇順に並び替えます";
            menuItemAsc.Tag     = 0;
            cm.Items.Insert(0, menuItemAsc);
            var menuItemDesc = new MenuItem();

            menuItemDesc.Header  = "サブチャンネルを番組表で結合表示";
            menuItemDesc.ToolTip = "同一TSIDのサービスをServiceIDが逆順になるよう並べると番組表で結合表示される機能を使い、\r\nサブチャンネルを含めて1サービスの幅で表示します";
            menuItemDesc.Tag     = 1;
            cm.Items.Insert(0, menuItemDesc);
            foreach (MenuItem item in cm.Items)
            {
                item.Click += listBox_serviceView_SidSort;
            }
            listBox_serviceView.ContextMenu         = cm;
            listBox_serviceView.ContextMenuOpening += listBox_serviceView_ContextMenu_Opening;
            listBox_serviceView.ContextMenuClosing += (s, e) => sortList = null;
        }
Example #5
0
        public ContextMenu CreateSlelectMenu(Func <S, bool> isMenuChecked = null, Func <S, bool> isMenuEnabled = null, RoutedEventHandler clicked = null)
        {
            var ctxm = new ContextMenuEx();
            int i    = 0;

            foreach (var item in Items)
            {
                var menu = new MenuItem()
                {
                    Header = item.DeepClone(), Tag = i++
                };
                menu.Click += clicked ?? SelectMenuClicked;
                if (isMenuChecked != null)
                {
                    menu.IsChecked = isMenuChecked(menu.Header as S);
                }
                if (isMenuEnabled != null)
                {
                    menu.IsEnabled = isMenuEnabled(menu.Header as S);
                }
                ctxm.Items.Add(menu);
            }
            return(ctxm);
        }