使用MVVM在WPF中绑定命令

我正在学习MVVMWPF 。 我的项目中有一个xaml文件,后面的代码中有一个简单的单击事件处理程序。

现在我想在MVVM中做同样的事情。 我阅读了很多文章,并在沙发上阅读了很多答案。 但仍然无法做到这一点。

任何人都可以举一个简单的例子,在MVVM中完成按钮点击事件。

编辑

                

提前致谢。

您可以将按钮的Command属性绑定到任何返回ICommand的属性。 Prism实现了一个非常方便的名为DelegateCommand的命令,它非常容易使用( 这里是它的一个假设):

 public ICommand MyButtonClickCommand { get { return new DelegateCommand(FuncToCall, FuncToEvaluate); } } private void FuncToCall(object context) { //this is called when the button is clicked } private bool FuncToEvaluate(object context) { //this is called to evaluate whether FuncToCall can be called //for example you can return true or false based on some validation logic return true; }  

CodeProject示例如何在WPF中使用命令有一个非常类似的示例,代码可以轻松完成。 上一个Stack Overflow问题有一个使用静态绑定到的RoutedCommands的示例: 如何将Close命令绑定到按钮 ,以及如何将WPF按钮绑定到ViewModelBase中的命令? 有一个稍微高级的例子。