wpf – 如何将命令附加到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附加到新事件. 当你背后的代码是空的时候,这是一件很美妙的事情! (编辑:ASP站长网) |