如何使用参数创建CommandBinding?

时间:2015-04-28 14:30:33

标签: wpf wpf-4.0

有没有办法用参数创建CommandBinding? 您通常可以为控件执行以下命令添加绑定:

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

我想知道是否还有办法通过一个参数?

2 个答案:

答案 0 :(得分:1)

不,您在CommandParameter上没有CommandBinding,但您可以使用InputBindings中的UIElement添加例如MouseBinding,其中包含Command CommandParameter<Control> <Control.InputBindings> <MouseBinding MouseAction="LeftClick" Command="{StaticResource MyCommand}" CommandParameter="{x:Static system:Boolean.TrueString}"/> </Control.InputBindings> </Control> 属性。

bootstrap(AppComponent, [ SharedService ]);

答案 1 :(得分:-1)

您是否尝试过CommandParameter属性?

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