如何在同一个复选框命令中使用isChecked作为命令参数

Ken*_*enn 10 wpf mvvm

所以我有一个使用WPF/MVVM触发命令的复选框,这很好但我想使用复选框的IsChecked属性作为命令参数.我试过这个.

  <CheckBox Margin="3" Content="Clear Selected OEM" 
                              Command="{Binding Path=ClearOemCommand}" 
                              CommandParameter="{Binding Path=IsChecked}"/>
Run Code Online (Sandbox Code Playgroud)

我在输出窗口中看到错误

System.Windows.Data Error: 40 : BindingExpression path error: 'IsChecked' property not found on 'object'
Run Code Online (Sandbox Code Playgroud)

如果我想使用另一个控件的属性,我会知道如何使用查找祖先但我在这里难倒 - 它可能比我想象的更容易......只是没有在我脑海中建立连接.

谢谢!

Ars*_*eny 31

请在CommandParameter中添加RelativeSource Self

  <CheckBox Margin="3" Content="Clear Selected OEM" 
   Command="{Binding Path=ClearOemCommand}" 
   CommandParameter="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" />
Run Code Online (Sandbox Code Playgroud)