Wpf 如何使用参数创建CommandBinding?

Wpf 如何使用参数创建CommandBinding?,wpf,wpf-4.0,Wpf,Wpf 4.0,有没有办法用参数创建CommandBinding? 您通常可以为控件的命令添加绑定,如下所示: <Control.CommandBindings> <CommandBinding Command="ApplicationCommands.XXX" CanExecute="XXX_CanExecute" Executed="XXX_Executed"> </CommandBindi

有没有办法用参数创建CommandBinding? 您通常可以为控件的命令添加绑定,如下所示:

    <Control.CommandBindings>
          <CommandBinding Command="ApplicationCommands.XXX" CanExecute="XXX_CanExecute"
                    Executed="XXX_Executed">
          </CommandBinding>
    </Control.CommandBindings>

我想知道是否还有一种方法可以传递参数?

您尝试过该属性吗

<DataGrid.ContextMenu>
     <ContextMenu>
           <MenuItem Header="MyHeader" 
                     Command="{Binding MyCommand}"
                     CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget.SelectedItem}" />
</DataGrid.ContextMenu>

不,您在
命令绑定
上没有
命令参数
,但是您可以使用
ui元素
中的
输入绑定
添加例如
鼠标绑定
,该绑定具有
命令
命令参数
属性

<Control>
  <Control.InputBindings>
    <MouseBinding MouseAction="LeftClick"
                  Command="{StaticResource MyCommand}"
                  CommandParameter="{x:Static system:Boolean.TrueString}"/>
    </Control.InputBindings>
</Control>


是的,但我看不出来,这就是为什么我在这里问这个问题,物业不存在似乎真的很奇怪。当我使用它时,它告诉我无法解析符号“CommandParameter”。这也在控制之下,我指的是使用CommandBinding标记。@NguyenKien这是胡说八道。CommandParameter工作正常。CommandBinding中没有CommandParameter:@goobering像Scott那样做,你可以,我是在问你什么时候用Scott Nimrod建议的方法?@NguyenKien我只是觉得奇怪,你不能这样传递参数。我想知道是否有一些特殊的CommandBinding支持参数,比如,它可以被称为CommandWithParametersBinding,而不是CommandBinding。还有,为什么不能传递参数?有什么特别的原因吗?