コマンド・モデルの主な要素:
1、コマンド
図2に示すように、コマンドバインディング:コマンドは、関連するアプリケーションロジックに接続されました
3、コマンドソース:コマンドソーストリガコマンド、
図4に示すように、コマンド・ターゲット:アプリケーション・ロジック。
-------------------------------------------------- --------------
ICommandのインターフェース
コアモデルはSystem.Windows.Input.ICommandコマンドインタフェースです。
パブリックインターフェイスのICommand { イベントのEventHandler CanExecuteChanged; //イベントが発生したときにコマンドが状態を変更する時期。 ブールCanExecute(オブジェクトパラメータ); //このメソッドは、それがfalseを返し、コマンドのステータスを返すコマンドが使用できない、利用可能な場合はtrueを返します。 ボイドが(オブジェクトパラメータ)を実行し、メソッド//定義を起動するには、このコマンドを呼び出すとき。 }
インターフェースは、二つの方法と一つのイベントで構成されています。
無効(オブジェクトパラメータ)を実行し、
BOOL CanExecute(オブジェクトパラメータ)
イベントのEventHandler CanExecuteChanged。
アプリケーションタスクロジックを含む()メソッドを実行します。
CanExecute方法コマンド状態に戻る();コマンドが利用可能である場合、trueを返し、そうでない場合入手可能な、falseを返します。
コマンドはCanExecuteChangedイベントをトリガ、状態を変更するとき。任意の制御コマンドを使用するため、これは、それらがCanExecute(方法チェックコマンドのステータス)を呼び出すべきことを示す指示信号です。
-------------------------------------------------- -------------------------------------------------- ----
RoutedCommandの类
しかし、自動的にICommandのインタフェースを実装するSystem.Windows.input.RoutedCommandクラスの使用;独自のコマンドを作成する場合は、直接のICommandインターフェイスを実装していません。RoutedCommandのWPFクラスは、ICommandのインタフェースを実装するクラスだけです。すべては、WPFのコマンドRoutedCommandのクラスとその派生クラスのインスタンスです。
RouteCommandクラスは、それ自身を含む関数コマンドは、すべてのオブジェクトのために同じ機能をRoutedCommandの、任意のアプリケーションロジックを含むコマンドを表していません。
RouteCommandクラスは、イベントのバブリングやトンネルのためのいくつかの追加のインフラストラクチャを追加します。
RouteCommand個人クラス実装のICommandインターフェース、およびは、異なるバージョンのICommandインターフェイスのメソッドを追加します。
公共ボイド実行する(オブジェクトパラメータ、IInputElement対象){}
パブリックブールCanExecute(オブジェクトパラメータ、IInputElementターゲット){}
RoutedCommandのクラスには、3つのプロパティ組み込ま:コマンド名(Nameプロパティ)を、コマンドクラス(OWNERTYPE)、トリガーボタンまたはマウスのコマンドが含まれています。
-------------------------------------------------- -------------------------------------------------- ----------------------
RoutedUICommand类
(WPFは、実際にすべて事前に構築されたオブジェクトがRoutedUICommandあるコマンド)RoutedCommandのクラスからクラスの継承をRoutedUICommand。
テキストのみ表示テキストコマンドにRoutedUICommandクラス属性を増加させました。テキストは、コマンドボタンのTextプロパティを使用することができ、同じコマンドは、同じテキストを表示します。
-------------------------------------------------- -------------------------------------------------- --------------
コマンドライブラリ
静的クラス5を提供することにより、WPF静的プロパティ:
1、ApplicationCommand:一般的なコマンド、クリップボードコマンド(コピー、切り取り、貼り付け)、文書コマンド(新、開く、保存、名前を付けて保存、印刷)などが挙げられます。
2、NavigationCommand:ナビゲーションコマンド、コマンドベースの設計アプリケーションページ(BrowseBack、BrowseForwardとNEXTPAGE)などのいくつか。
3、EditingCommand:文書の編集コマンド、
図4は、ComponentCommands:このクラスは、ユーザ・インタフェース・コマンドにより設定を提供します。
5、MediaCommands:このクラスは、マルチメディアを処理するためのコマンドセットを提供します。