首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

wpf中Menu菜单项多个新建项如何避免

2012-08-11 
wpf中Menu菜单项多个新建项如何处理MenuResources.xaml资源文件中定义的菜单有多个新建的项command对应的

wpf中Menu菜单项多个新建项如何处理
MenuResources.xaml 资源文件中定义的菜单有多个新建的项 command对应的都是新建的命令New
 

C# code
 <ContextMenu x:Key="AddMenu">    <MenuItem Header="新建文件夹"              Command="ApplicationCommands.New">    </MenuItem>    <MenuItem Header="新建文本文件"              Command="ApplicationCommands.New">    </MenuItem>    <MenuItem Header="新建word"              Command="ApplicationCommands.New">    </MenuItem></ContextMenu>


显示的窗体里定义
C# code
  <Window.CommandBindings>    <CommandBinding Command="ApplicationCommands.New"                    CanExecute="FolderCanAdd"                    Executed="AddFolder" />    <CommandBinding Command="ApplicationCommands.New"                    CanExecute="TxtCanAdd"                    Executed="AddTxt" />    <CommandBinding Command="ApplicationCommands.New"                    CanExecute="WordCanAdd"                    Executed="AddWord" />  </Window.CommandBindings>


由于定义了相同的Command=ApplicationCommands.New 在使用CanExecute判断的时候,几个菜单项的判断互相混合了 。
不知道如何处理这种情况好

[解决办法]
回你这个问题真是够累的,以后问问题把想问的都一次问清楚.

InitializeComponet()之后,你就可以拿Resource了.
这时可以注册事件

C# code
        public MainWindow()        {            InitializeComponent();            ContextMenu menu = this.Resources["AddMenu"] as ContextMenu;            menu.ContextMenuOpening += (s, e) =>                {                    //to do                };        } 

热点排行