xamRibbon™ コントロールには、コマンドを起動する方法が分かる 5 つのツール タイプが含まれます (つまり、コマンド ソース):
ButtonTool - 単純なプッシュ ボタンで、クリックすると関連付けられたコマンドが起動します。
ToggleButtonTool - チェックされた状態を維持するプッシュ ボタン コントロールです。
CheckBoxTool - チェックされた状態を維持し、チェックマークで表されるコントロールです。
RadioButtonTool - 同じグループの他のラジオ ボタンに基づいて排他的なチェックされた状態を維持するプッシュ ボタン コントロールです。
MenuTool - オプションのドロップダウン リストを提供しますが、個別のプッシュ ボタンを持つ場合もあるツールです。このプッシュ ボタンは、標準のプッシュ ボタンまたはトグル ボタンとして機能します。
各ツールはコマンド関連のプロパティを 3 つ公開します - Command、CommandTarget および CommandParameter です。これらのプロパティの詳細は、Microsoft のマニュアルの「コマンド」 を参照してください。
コマンドの処理については、最初の 4 つのツールは本質的に同じです。ツールをクリックすると (または項目のチェックされた状態が変更される時に状態を保持するボタン ツールの場合)、関連付けられたコマンドが起動されます。コマンドの CanExecute 状態は、ツールの有効な状態を決定するために使用することもできます。したがって、ボタン ツールの IsEnabled プロパティが True に設定され (これはデフォルト値)、そして CanExecute 状態が False になると、これらのツールは無効になります。
MenuTool は、主な機能がエンド ユーザーが選択できるオプションのドロップダウン リストを提供することである点で若干異なります。MenuTool は、その ButtonType プロパティの値に基づいてコマンドを使用する方法が異なります。ButtonType が Segmented または SegmentedState に設定された場合、そしてボタンのセグメント化された部分がクリックされた場合に限って、このコマンドが起動されます。ButtonType が Segmented または SegmentedState に設定された場合、コマンドの CanExecute 状態はメニュー ツールのセグメント化された部分の有効な状態を決定するためだけに使用されます。ButtonType が DropDown に設定されると、コマンドは実行されませんが、その CanExecute 状態は、ツールの有効な状態を決定するために使用されます。