【问题标题】:Can't bind command from Menu Item to a Command Binding无法将菜单项中的命令绑定到命令绑定
【发布时间】:2009-05-20 17:34:21
【问题描述】:

我有以下 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。关闭菜单项始终处于禁用状态。

我认为绑定没有发生。谁能解释一下原因?

如果它与不在可视化树中的上下文菜单有关,你如何解决它?

【问题讨论】:

    标签: wpf menuitem commandbinding


    【解决方案1】:

    这个声明Command="Close" 没有做任何事情。您是说命令是字符串“关闭”。这就是为什么它不起作用。

    如果在窗口中定义了关闭命令实例,请使用Command="{Binding Close}"。或者,如果您使用的是 ApplicationCommands.Close,那么它将是

    Command="{x:Static ApplicationCommands.Close}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 2011-06-08
      • 2013-10-08
      相关资源
      最近更新 更多