Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# KeyCommand禁用菜单项_C#_Wpf_Icons_Menuitem - Fatal编程技术网

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-不,我没有!还没有。将此作为答案发布,如果问题出在我身上,我会投票认为它是正确的:)