如何解决在同一个复选框命令中,如何将isChecked用作命令参数
| 因此,我有一个使用WPF / MVVM触发命令的复选框,它可以正常工作,但我想将复选框的IsChecked属性用作命令参数。我试过了 <CheckBox Margin=\"3\" Content=\"Clear Selected OEM\"
Command=\"{Binding Path=ClearOemCommand}\"
CommandParameter=\"{Binding Path=IsChecked}\"/>
Bu我在输出窗口中看到一个错误,说
System.Windows.Data Error: 40 : BindingExpression path error: \'IsChecked\' property not found on \'object\'
如果我想使用另一个控件中的属性,我会知道如何使用find祖先,但是我很困惑–可能比我想的要容易...只是在我脑海中没有建立联系。
谢谢!
解决方法
请在CommandParameter中添加RelativeSource Self
<CheckBox Margin=\"3\" Content=\"Clear Selected OEM\"
Command=\"{Binding Path=ClearOemCommand}\"
CommandParameter=\"{Binding Path=IsChecked,RelativeSource={RelativeSource Self}}\" />
,如果像我一样遇到以下例外情况...
设置属性“ 3”抛出异常
尝试以下方法:
CommandParameter=\"{Binding RelativeSource={RelativeSource Self},Path=IsChecked}\"
,是的,JW1是正确的。您也可以像这样使用elemen名称,这也可以
\"{Binding Path=IsChecked,ElementName=chkAll}\"
,除了可以在CheckBox上创建命令外,还可以将IsChecked与CLR属性绑定,并在CLR属性的setter上执行命令逻辑。这是处理命令行为的另一种解决方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。