找传奇、传世资源到传世资源站!

WPF+通过配置文件生成菜单(Menu)

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

from clipboardusing 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); } } }}

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复