我有以下xaml:
<Window x:Class="Isolator.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Isolator" Height="394" Width="486" Background="Black" WindowStyle="None" WindowState="Maximized">
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute"/>
</Window.CommandBindings>
<Window.ContextMenu>
<ContextMenu>
<MenuItem Header="Stop" Name="StopMenuItem" Click="StopMenuItem_Click" />
<MenuItem Header="Close" Command="Close"/>
</ContextMenu>
</Window.ContextMenu>
<Grid Loaded="Grid_Loaded">
</Grid>
</Window>
“关闭”菜单项指定它应使用“关闭”命令。 Close命令绑定指定应为CanExecute调用CommandBinding_CanExecute,但永远不会调用CommandBinding_CanExecute。关闭菜单项始终处于禁用状态。
我认为绑定没有发生。任何人都可以解释原因吗?
如果它与上下文菜单不在视觉树中有关,你如何解决它?
答案 0 :(得分:1)
此声明Command="Close"
没有做任何事情。您说Command是字符串“Close”。这就是为什么它不起作用。
如果在窗口中定义了关闭命令实例,请使用Command="{Binding Close}"
。或者,如果您使用ApplicationCommands.Close,那么它将是
Command="{x:Static ApplicationCommands.Close}"