示例#1
0
 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);
         }
     }
 }
示例#2
0
        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);
                }
            }
        }