加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

wpf – 如何将命令附加到CheckBox的检查和取消选中?

发布时间:2020-12-14 18:27:55 所属栏目:资源 来源:网络整理
导读:在我的ViewModel中,我有两个命令: ICommand ExecuteMeOnCheck { get; }ICommand ExecuteMeOnUncheck { get; } 我希望将这些命令附加到CheckBox,并在检查时执行其中一个命令,而在取消选中时执行另一个命令.实现这一目标的最佳方法是什么,而不会因为代码隐藏
在我的ViewModel中,我有两个命令:
ICommand ExecuteMeOnCheck { get; }
ICommand ExecuteMeOnUncheck { get; }

我希望将这些命令附加到CheckBox,并在检查时执行其中一个命令,而在取消选中时执行另一个命令.实现这一目标的最佳方法是什么,而不会因为代码隐藏而混淆View?

解决方法

我发现这样做的最简单方法是借用一堆代码.我还认为您不希望为状态更改公开两个事件.命令CheckedChangedCommand而不是Checked和Unchecked.将CheckBox.IsChecked依赖项属性绑定到ViewModelClass上的属性.这样,当您的命令执行时,您只需在ViewModel中检查该值.

首先,从WPF ViewModel toolkit开始使用DelegateCommand.从您的帖子中不清楚您是否是.

接下来,从此链接的“下载”选项卡下载.zip archive.

存档有一个名为EventBehaviourFactory的类,可以更轻松地设置DependencyProperty.回到上面链接的Home选项卡,Samuel告诉您如何将XAML中的Command连接到ViewModel.这里是:

<TextBox ff:TextBoxBehaviour.TextChangedCommand="{Binding TextChanged}"/>

我使用了三个类(DelegateCommand,EventBehaviourFactory和TextBoxBehaviour)行,并在大约五分钟内让TextChanged事件在我的项目中工作.

将它扩展到您需要做的其他控件的模式也很容易.我设法以相同的方式连接ListBox.SelectionChanged.创建一个新的ControlBehaviour类,并在所有实例中将“Control”替换为“TextBox”,并将DependencyProperty附加到新事件.

当你背后的代码是空的时候,这是一件很美妙的事情!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读