MVVM を使用して UI のボタンにコマンドを設定しようとしています。ただし、ボタンをクリックしてもコマンドは実行されません。このコードは、Jason Dolinger の例(3 番目の段落のリンク) に基づいています。
かなり単純なはずなので、何が悪いのかを見つけたら、きっとばかげていると思います。
関連するコード ビットが続きます。コマンドは次のとおりです (非常に単純です)。
public class NavigateCommand : ICommand
{
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void Execute(object parameter)
{
MessageBox.Show("Executed.");
}
}
XAML は次のようになります。
<Button x:Name="btn_ProjectManager" Command="{Binding Navigate}" Content="Test Button">
ビューモデルは次のようになります。
public class HomeScreenViewModel : DependencyObject
{
public ICommand Navigate;
public HomeScreenViewModel()
{
this.Navigate = new NavigateCommand();
}
}