コマンドの作り方と使い方がわからない
WPFのコマンドの話です。
そもそもWPFのコマンドとは
イベントハンドラーを抽象化したようなもの、みたいです。操作対象と操作元を特定しない、意味的に抽象化された作業の塊です。
たとえばコピー、貼り付けといった作業は、メニューから選んでポチポチやったり、ボタンを押したり、キーボードショートカットで行ったりすることができます。コピーする対象もテキストだったり文字列だったりしますし、貼り付ける先はテキストエディターだったりペイントソフトだったりします。操作方法はもとより、対象と操作元で挙動は変わりますが、「コピーする」「貼り付ける」というレベルまで抽象化すれば「同じこと」をしているといえます。これを実装したのがコマンドというわけです。マイクロソフトは親切にもコピー&ペーストや、ナビゲーションに関するコマンドはすでに用意してくれています。
独自のコマンドを実装する
これはそれほど難しくありません。ICommandインターフェースを実装すればいいのです。自分で作ったコマンドクラスを実装したクラスのインスタンスを、例えばボタンのCommandプロパティにバインドすれば、ボタンを押したときにコマンドを実行することができます。
public class MyCommand : ICommand { public void Execute(object param) { } public bool CanExecute(object param) { } public event EventHandler CanExecuteChanged; }
※中身は作りましょう。