[WPFリボン プログラミング] 第11回 ~コマンド~

[WPFリボン プログラミング ] 第11回 ~コマンド~

[ コマンドとは ]
コマンドとは、.NET Frameworkが提供している、アプリケーションの中でよく使われると思われる機能です。
Copy、Cut、Pasteというようなクリップボードの制御に関するコマンドや、Open、Closeというようなウィンドウの制御に関するコマンド、Print、PrintPreviewのような印刷に関するコマンドなどがあります。

[ アプリケーションのコマンドを利用 ]
今回は、第5回の記事で作成した、単純なリボンのサンプルアプリケーションにコマンドを追加します。
まず、第5回の記事で紹介した方法で、タブとグループが1つずつあるアプリケーションを作成します。
ここでは、アプリケーションの[切り取り]、[コピー]、[貼り付け]、[閉じる]の4つのコマンドを、ボタンに連携させるサンプルを作りましょう。
XAMLのコードに下記の赤い字の部分を追加し、その機能を実装します。

<my:Ribbon Name="Ribbon1" VerticalAlignment="Top">
<my:RibbonTab Header="タブ1">
<my:RibbonGroup Header="グループ1">
<my:RibbonButton Command="Cut" Label="切り取り" />
<my:RibbonButton Command="Copy" Label="コピー" />
<my:RibbonButton Command="Paste" Label="貼り付け" />

<my:RibbonButton Command="Close" Label="閉じる" />
</my:RibbonGroup>
</my:RibbonTab>
</my:Ribbon>

これらのコマンドの中で、[Close]はウィンドウを閉じる、すなわちアプリケーションを終了させるコマンドです。
[Cut]、[Copy]、[Paste]の3つのコマンドは、クリップボードの操作に関するものです。
クリップボードに関するコマンドを試すために、以下のようにTextBoxコントロールをリボンの下の白い部分にドラッグアンドドロップします。

このアプリケーションを実行すると、[切り取り]ボタン、[コピー]ボタン、[貼り付け]ボタンが、クリップボードの状態に応じて有効または無効に変わります。
例えば、TextBoxに何か文字を入力して、その文字を選択した状態にすると、[切り取り]ボタン、[コピー]ボタンが有効になります。

アプリケーションのコマンドについては、下記ページに一覧が掲載されています。
https://msdn.microsoft.com/ja-jp/library/system.windows.input.applicationcommands_members.aspx

アプリケーションコマンドと同じような、ナビゲーションに関するコマンドも用意されています。
ナビゲーションコマンドについては、こちらをご覧ください。
https://msdn.microsoft.com/ja-jp/library/system.windows.input.navigationcommands_members.aspx
ナビゲーションコマンドには、BrowseBack、BrowseForwardやRefreshなどのブラウザーのナビゲーションに関するコマンドがあります。

次回は、クイック アクセス ツールバーを説明します。
本連載は、あとギャラリー、キーチップ、タブの優先順位を説明して終了する予定です。

[WPFリボンの開発用コンポーネントのダウンロード先]
WPFリボンの開発は、Visual Studio 2010またはExpression Blend 4に、Microsoft Ribbon for WPFというコンポーネントを追加することによって開発できます。
以下のサイトからダウンロードすることができます。
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=2bfc3187-74aa-4154-a670-76ef8bc2a0b4&displaylang=en

[WPFリボン プログラミング]
第1回 : ~リボン インターフェイスとは~
第2回 : ~開発環境を揃える~
第3回 : ~リボンについて知っておくべきこと~
第4回 : ~リボン インターフェイスを作る2つの方法~
第5回 : ~タブとグループの作り方~
第6回 : ~グループへのコントロールの追加~
第7回 : ~ボタンをクリックしたときの処理と多彩なツールチップ~
第8回 : ~特定のときのみ表示させるコンテキスト タブ~
第9回 : ~アプリケーション メニュー~
第10回 : ~アプリケーション メニュー 上級編~
第11回 : ~コマンド~

マイクロソフト
田中達彦