/// <summary> /// Adds the menu item. /// </summary> /// <param name="parameter">The parameter.</param> /// <param name="items">The items.</param> private void AddMenuItem(BaseMenuItemDescriptor parameter, ObservableCollection <MenuItem> items) { ObservableCollection <MenuItem> tempList = new ObservableCollection <MenuItem>(); MenuItemDescriptor menuItem = parameter as MenuItemDescriptor; if (menuItem != null) { if (menuItem.SubItems != null) { foreach (BaseMenuItemDescriptor subItem in menuItem.SubItems) { AddMenuItem(subItem, tempList); } } MenuItem radMenuItem = new MenuItem { Command = menuItem.Command, Header = menuItem.Label, ToolTip = menuItem.ToolTip }; ToolTipService.SetShowOnDisabled(radMenuItem, true); if (tempList.Any()) { tempList.Select(it => radMenuItem.Items.Add(it)).ToList(); } items.Add(radMenuItem); } }
/// <summary> /// Processes the menu item event. /// </summary> /// <param name="parameter">The parameter.</param> private void ProcessMenuItemEvent(BaseMenuItemDescriptor parameter) { AddMenuItem(parameter, Items); }