C# KeyCommand禁用菜单项
每当我向C# KeyCommand禁用菜单项,c#,wpf,icons,menuitem,C#,Wpf,Icons,Menuitem,每当我向添加命令时,菜单项和前景都会变灰。如果我删除该命令,它将被设置为正常样式 似乎MenuItem在使用命令时被禁用 这可能只是一个造型问题吗?我正在使用MahApps.Metro设置我的应用程序的风格 <MenuItem Header="_SETTINGS" Margin="0,0,10,0"> <MenuItem Header="_View Settings" Command="ApplicationCommands.Properties
添加命令时,菜单项和前景都会变灰。如果我删除该命令,它将被设置为正常样式
似乎MenuItem在使用命令时被禁用
这可能只是一个造型问题吗?我正在使用MahApps.Metro设置我的应用程序的风格
<MenuItem Header="_SETTINGS" Margin="0,0,10,0">
<MenuItem Header="_View Settings" Command="ApplicationCommands.Properties">
<MenuItem.Icon>
<Image Height="16" Width="16" Source="../Images/settings-26.png"></Image>
</MenuItem.Icon>
</MenuItem>
</MenuItem>
您需要为该命令附加一些
CommandBinding
,否则它将被禁用
确定RoutedCommand是否可以在当前命令目标上执行的实际逻辑不包含在CanExecute方法中,而是CanExecute引发PreviewCanExecute和CanExecute事件,这些事件通过元素树隧道和冒泡查找具有CommandBinding的对象。如果找到该RoutedCommand的CommandBinding,则调用附加到CommandBinding的CanExecuteRouteEventHandler。这些处理程序提供用于确定RoutedCommand是否可以执行的编程逻辑
如果没有
CommandBinding
事件将始终返回为false,并且您的按钮将被禁用您是否将某些内容附加到此命令?如果没有什么可执行的,它将disabled@dkozl-不,我没有!还没有。将此作为答案发布,如果问题出在我身上,我会投票认为它是正确的:)