using System;
using System.Windows.Input;
namespace WpfTest {
class DelegateCommand : ICommand {
public Action _action;
public event EventHandler CanExecuteChanged;
public DelegateCommand(Action action){
_action = action;}
public bool CanExecute(object parameter)//执行检查是否可以执行 {return true;}
public voidExecute(object parameter)//执行 { _action(); {//...}}}
using System.Windows;
namespace WpfTest {/// <summary> ///
MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow(){InitializeComponent();
this.DataContext = new MainViewModel();//View和ViewMode连接}}}
ViewModel代码
using System.Windows.Input;
namespace WpfTest {
class MainViewModel : ViewModelBase
{
public string ButtonOperation { get; set;}
public ICommand ButtonCommand { get; set;}
public MainViewModel(){
ButtonCommand = new DelegateCommand(ButtonCommandHandler);}
private voidButtonCommandHandler(){
ButtonOperation ="Finish";}}}
WPF的ICommand接口的简单实现using System; using System.Windows.Input;namespace WpfTest { class DelegateCommand : ICommand { public Action _action; public event EventHandler CanExecuteChanged; ...