ビューに単純なコマンド バインドを持つボタンがあります。
<Window ...>
<Window.DataContext>
<vm:ShellViewModel />
</Window.DataContext>
...
<Button Command="{Binding DoSomethingCoolCommand}" Content="Execute" />
そして、vm:
public class ShellViewModel : ObservableObject {
private RelayCommand _doSomethingCoolCommand;
public ICommand DoSomethingCoolCommand {
get {
return _doSomethingCoolCommand ??
(_doSomethingCoolCommand = new RelayCommand(DoSomethingCool));
}
}
private void DoSomethingCool() { ... }
ただし、アプリケーション/ビューの起動時にボタンが無効になり、有効にできません。コマンド実行評価をに渡し、ビューにRelayCommand
も設定しようとしました。IsEnabled
何か不足していますか?
編集
RelayCommand と ObservableObject は、タグに示されているように、 mvvm 財団プロジェクトからのものです。リンク: https://mvvmfoundation.codeplex.com