private void MergeItem(MenuItemViewModel menuItem) { if (string.IsNullOrWhiteSpace(menuItem.Parent)) { AddRootMenuItem(menuItem); } else { var parent = MainMenu.FirstOrDefault(e => e.Header.ToLower().Equals(menuItem.Parent.ToLower())); if (parent != null) { AddChildMenuItem(menuItem, parent); } } }
private void InsertMenuItem(ObservableCollection <MenuItemViewModel> itemList, MenuItemViewModel menuItem) { var previousItem = itemList.LastOrDefault(e => e.Parent == menuItem.Parent && e.Priority <= menuItem.Priority); if (previousItem == null && itemList.Count == 0) { itemList.Add(menuItem); } else { var positionIndex = itemList.IndexOf(previousItem); if (positionIndex == itemList.Count - 1) { itemList.Add(menuItem); } else { itemList.Insert(positionIndex + 1, menuItem); } } }