ViewModels で RelayCommands を宣言するためのきちんとした簡潔な方法を見つけようとしています。
私が思いつくことができる最高のものは次のとおりです。
public class MyViewModel
{
public ICommand StopCommand { get; private set; }
public MyViewModel()
{
StopCommand = new RelayCommand(OnStop);
}
private OnStop(object sender)
{
//hammertime
}
}
私が本当にやりたいのは、次のような2段階の宣言/構築を削除することです:
public class MyViewModel
{
public readonly ICommand StopCommand = new RelayCommand(OnStop);
private OnStop(object sender)
{
//hammertime
}
}
ただし、これはコンパイルに失敗します
エラー CS0236: フィールド初期化子は、非静的フィールド、メソッド、またはプロパティ 'MyViewModel.OnStop(object)' を参照できません
人々が使用するよりきちんとした/「標準的な」方法はありますか?