예제 #1
0
 private void model_ItemsChanged(object sender, MenuModelItemsEventArgs e)
 {
     foreach (IMenuModelItem modelItem in e.Items)
     {
         ToolStripItem viewItem;
         if (this.viewItems.TryGetValue(modelItem, out viewItem))
         {
             this.UpdateItemProperties(modelItem, viewItem);
             if (e.IsSortingAffected)
             {
                 ToolStripItemCollection collection = null;
                 ToolStripItem           parentViewItem;
                 if (modelItem.Parent != null && this.viewItems.TryGetValue(modelItem.Parent, out parentViewItem) && parentViewItem is ToolStripMenuItem)
                 {
                     collection = (parentViewItem as ToolStripMenuItem).DropDownItems;
                 }
                 else if (modelItem.Parent == null)
                 {
                     collection = this.target;
                 }
                 if (collection != null)
                 {
                     this.RemoveViewItem(collection, viewItem, modelItem);
                     this.InsertViewItem(collection, viewItem, modelItem);
                 }
             }
         }
     }
 }
예제 #2
0
 private void model_ItemsRemoved(object sender, MenuModelItemsEventArgs e)
 {
     this.DestroyViewItems(null, e.Items);
 }
예제 #3
0
 private void model_ItemsAdded(object sender, MenuModelItemsEventArgs e)
 {
     this.CreateViewItems(null, e.Items);
 }