 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using TestMenu.Model;namespace TestMenu{  /// <summary>  /// MainWindow.xaml 的交互逻辑  /// </summary>  public partial class MainWindow : Window  {    public MainWindow()    {      InitializeComponent();      this.Loaded = new RoutedEventHandler(MainWindow_Loaded);    }    void MainWindow_Loaded(object sender, RoutedEventArgs e)    {      //加载菜单!      if (BaseLogic.GetInstanse().MenuList != null && BaseLogic.GetInstanse().MenuList.Count > 0)      {        BindMenu(0, null);      }    }    private void BindMenu(int parentId, MenuItem item)    {      List<MenuItemInfo> list = BaseLogic.GetInstanse().MenuList.FindAll(p => p.ParentMenuId == parentId);      if (list != null && list.Count > 0)      {        foreach (MenuItemInfo info in list)        {          MenuItem menuItem = new MenuItem();          menuItem.Name = info.Name;          menuItem.Header = info.HeaderText;          menuItem.Tag = info;          menuItem.Click = new RoutedEventHandler(menuItem_Click);          if (parentId == 0)          {            this.MainMenu.Items.Add(menuItem);          }          else          {            item.Items.Add(menuItem);          }          BindMenu(info.MenuId, menuItem);        }      }    }    private void menuItem_Click(object sender, RoutedEventArgs e)    {      MenuItem item = sender as MenuItem;      string menuName = ((MenuItemInfo)(item.Tag)).MenuName;      //string fullName = menuName;      //MenuBase menuBase = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string.Format("ygPlatForm.Logic.MenuLogic.{0}Menu", item.Name), false) as MenuBase;      if (menuName != null)      {        MenuBase menuBase = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(menuName, true) as MenuBase;        if (menuBase != null)          menuBase.Excute(this.tabDown);      }    }  }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using TestMenu.Model;namespace TestMenu{  /// <summary>  /// MainWindow.xaml 的交互逻辑  /// </summary>  public partial class MainWindow : Window  {    public MainWindow()    {      InitializeComponent();      this.Loaded = new RoutedEventHandler(MainWindow_Loaded);    }    void MainWindow_Loaded(object sender, RoutedEventArgs e)    {      //加载菜单!      if (BaseLogic.GetInstanse().MenuList != null && BaseLogic.GetInstanse().MenuList.Count > 0)      {        BindMenu(0, null);      }    }    private void BindMenu(int parentId, MenuItem item)    {      List<MenuItemInfo> list = BaseLogic.GetInstanse().MenuList.FindAll(p => p.ParentMenuId == parentId);      if (list != null && list.Count > 0)      {        foreach (MenuItemInfo info in list)        {          MenuItem menuItem = new MenuItem();          menuItem.Name = info.Name;          menuItem.Header = info.HeaderText;          menuItem.Tag = info;          menuItem.Click = new RoutedEventHandler(menuItem_Click);          if (parentId == 0)          {            this.MainMenu.Items.Add(menuItem);          }          else          {            item.Items.Add(menuItem);          }          BindMenu(info.MenuId, menuItem);        }      }    }    private void menuItem_Click(object sender, RoutedEventArgs e)    {      MenuItem item = sender as MenuItem;      string menuName = ((MenuItemInfo)(item.Tag)).MenuName;      //string fullName = menuName;      //MenuBase menuBase = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string.Format("ygPlatForm.Logic.MenuLogic.{0}Menu", item.Name), false) as MenuBase;      if (menuName != null)      {        MenuBase menuBase = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(menuName, true) as MenuBase;        if (menuBase != null)          menuBase.Excute(this.tabDown);      }    }  }}

 
  
					
				
评论