わかりました。コマンドは常に混乱を招くため、コマンドの使用を避ける傾向がありますが、私は新しいプロジェクトに取り組んでおり、コードを表示せずに正しく設計しようとしています。基本的に、私が今やろうとしているのは、ビューモデルでいくつかのことを実行するコマンドを起動するボタンを配線することだけですが、どういうわけか、非常に単純なことがまだ問題を引き起こしています。私は近くにいると思いますが、そこにたどり着くことができません。これが私が今持っているものです。
<Window.Resources>
<RoutedUICommand x:Key="GetMusic" />
</Window.Resources>
<Window.DataContext>
<core:ViewMain />
</Window.DataContext>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource GetMusic}" Executed="GetMusicExecuted"/>
</Window.CommandBindings>
そして、ビューモデルは今のところほとんど何もありません
public class ViewMain
{
public MusicCollection Music { get; set; }
private void GetMusicExecuted(object sender, ExecutedRoutedEventArgs e)
{
//Logic
}
}
今私がやろうとしているのは、コマンドバインディングで設定したこのコマンドを接続して、ビューモデルで実行されたメソッドを呼び出すだけですが、ビュー自体の中でそのメソッドを見つけようとします。代わりにビューモデルのメソッドにそれを向けることができる方法、または同じことを達成するためにこれを設定するためのより良い方法はありますか?最初はシンプルにしたいと思っているので、早めに頭を悩ませることはありません。