private void InitMenu() { menuHub = new MenuHub(menuName); _menuSource = new ObservableCollection <MenuItemInfo>(); MenuItemInfo menu1 = new MenuItemInfo("菜单1", Menu1Command) { GroupName = "Group1" }; MenuItemInfo menu2 = new MenuItemInfo("菜单2", Menu2Command) { GroupName = "Group1" }; MenuItemInfo menu3 = new MenuItemInfo("菜单3", Menu3Command) { GroupName = "Group2" }; MenuItemInfo menu4 = new MenuItemInfo("菜单4", Menu4Command) { GroupName = "Group2" }; //菜单项还可以通过一下方式定义,CommandName为全局命令中定义的命令名称 //MenuItemInfo menu4 = new MenuItemInfo("菜单4", "CommandName") { GroupName = "Group2" }; menu1.SubItems.Add(menu2); menu1.SubItems.Add(menu3); //向全局注册菜单 menuHub.Register(menuName, menu1, 1); menuHub.Register(menuName, menu2, 2); menuHub.Register(menuName, menu3, 3); menuHub.Register(menuName, menu4, 4); //_menuSource.Add(menu1); //_menuSource.Add(menu2); //_menuSource.Add(menu3); //_menuSource.Add(menu4); //GetMenuItemInfos 为获取合并后的右键菜单 //_menuSource = menuHub.GetMenuItemInfos(menuNames.Where(t=>t== "menu1"))?.ToList(); }
private void InitMenu() { menuHub = new MenuHub(menuName); var menu1 = new MenuItemInfo("菜单1", new RelayCommand(ShowWindow)) { GroupName = "Group1" }; var menu2 = new MenuItemInfo("菜单2", new RelayCommand(ShowWindow)) { GroupName = "Group1" }; var menu3 = new MenuItemInfo("菜单3", new RelayCommand(ShowWindow)) { GroupName = "Group2" }; var menu4 = new MenuItemInfo("菜单4", new RelayCommand(ShowWindow)) { GroupName = "Group2" }; menu1.SubItems.AddRange(new[] { menu2, menu3 }); //向全局注册菜单 menuHub.Register(menuName, menu1, 1); menuHub.Register(menuName, menu2, 2); menuHub.Register(menuName, menu3, 3); menuHub.Register(menuName, menu4, 4); MenuSource = new ObservableCollection <MenuItemInfo>();//绑定界面的RadContextMenu的菜单集合 var list = menuHub.GetMenuItemInfos(new List <string>() { menuName }); //GetMenuItemInfos 为获取合并后的右键菜单 if (list != null) { MenuSource.AddRange(list); } }
private void OnAddMenuItem() { if (MenuSource.Count == 0) { return; } var menucount = MenuSource.Count(t => !t.IsSeparator); var menu = new MenuItemInfo("菜单" + (menucount + 1), new RelayCommand(ShowWindow)) { GroupName = "Group" }; menuHub.Register(menuName, menu); MenuSource.Add(menu); }
private void OnAddMenuItem() { if (_menuSource.Count == 0) { return; } var menucount = _menuSource.Count(t => !t.IsSeparator); MenuItemInfo menu = new MenuItemInfo("菜单" + (menucount + 1), Menu4Command) { GroupName = "Group" }; menuHub.Register(menuName, menu); //在其他的插件中可以通过一下方式注册菜单 //M.MenuManager.Register(menuName, menu); }