ビューモデルで、ボタンからルーティングされたコマンドを処理したいと考えています。次のように、Usercontrol の分離コードで動作させることができます。
Dim NewCommandBinding As CommandBinding = New CommandBinding(GlobalCommands.ResultsFilterChangedCommand,
AddressOf ExecuteResultsFilterChanged,
AddressOf CanExecuteResultsFilterChanged)
CommandBindings.Add(NewCommandBinding)
そして、XAML でそれにバインドします。
<ToggleButton x:Name="FilterTgl" Content="Archives" Margin="10,4" Padding="10,2"
Command="cmds:GlobalCommands.ResultsFilterChangedCommand" />
しかし、コードをビューモデルに移動すると、「コマンドバインディングが宣言されていません」というメッセージが表示されます。おそらく、私の UserControl は UI であり、ViewModel はそうではないためです。
ビューモデルでコマンドを直接処理しようとしてはいけませんか? アドバイスをありがとう。