如何将WPFbutton绑定到ViewModelBase中的命令?

我有一个包含各种属性的视图AttributeView 。 还有一个button,按下时,它应该将默认值设置为属性。 我也有一个ViewModelBase类,它是所有ViewModel的基类。 问题是我似乎无法获得绑定到WPF命令的button。

我已经试过这个,但是它没有做任何事情:

 <Button Command="{Binding DataInitialization}" Content="{x:Static localProperties:Resources.BtnReinitializeData}"></Button> 

命令是这样定义的(在ViewModelBase ):

 public CommandBase DataInitialization { get; protected set; } 

并在应用程序启动时为该命令创build一个新的实例:

 DataInitialization = new DataInitializationCommand() 

但是,WPF绑定似乎没有“find”命令(按下button什么都不做)。 当前视图中使用的ViewModelBase派生自ViewModelBase 。 还有什么我可以尝试(我对WPF很新,所以这可能是一个非常简单的问题)?

  <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Button Command="{Binding ClickCommand}" Width="100" Height="100" Content="wefwfwef"/> </Grid> 

窗口后面的代码:

 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new ViewModelBase(); } } 

和ViewModel:

 public class ViewModelBase { public ViewModelBase() { _canExecute = true; } private ICommand _clickCommand; public ICommand ClickCommand { get { return _clickCommand ?? (_clickCommand = new CommandHandler(() => MyAction(), _canExecute)); } } private bool _canExecute; public void MyAction() { } } public class CommandHandler : ICommand { private Action _action; private bool _canExecute; public CommandHandler(Action action, bool canExecute) { _action = action; _canExecute = canExecute; } public bool CanExecute(object parameter) { return _canExecute; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { _action(); } } 

我希望这会给你这个想法。