[WPFリボン プログラミング] 第7回 ~ボタンをクリックしたときの処理と多彩なツールチップ~

[WPFリボン プログラミング ] 第7回 ~ボタンをクリックしたときの処理と多彩なツールチップ~

[ サンプルプログラムの作成 ]
ボタンをクリックしたときの処理を説明するために、まずサンプルのプログラムを作成します。
第5回の記事で作成したテストプログラムを利用して、そのRibbonGroupの中にボタンを用意します。
第5回の記事の手順でテストプログラムを作成したら、以下のXAMLのコードの赤い字の部分を追加します。

<my:RibbonTab Header="タブ1">
<my:RibbonGroup Header="グループ1">

<my:RibbonButton Label="ボタン">
</my:RibbonButton>

</my:RibbonGroup>
</my:RibbonTab>

第6での説明のように、アイコンを追加したり、ウィンドウの幅の変化による処理を追加しても構いません。

[ イベントハンドラーの作成 ]
ボタンをクリックしたときに特定のプログラムを動かす場合は、通常のユーザーインターフェイスの構築のときと同様に、クリックに対応するイベントハンドラーを作成します。
作成方法も他のXPFのコンポーネントと同様に、XAMLデザイナー上に貼り付けているリボンのボタンをダブルクリックするだけです。
貼り付けたボタンをダブルクリックすると、自動的にイベントハンドラーが追加されて、ソースコードエディターに切り替わります。
ここでは、作成されたイベントハンドラーに以下の赤い字のコードを追加します。

private void RibbonButton_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("リボンのボタンがクリックされました");
}

このサンプルプログラムを実行し、リボン上のボタンをクリックすると、このようになります。

リボンと言っても、このあたりの実装方法は通常のWPFのアプリケーションやWindowsフォームのアプリケーションの実装方法と変わりません。

[ 多彩なツールチップ ]
リボンでは、ツールチップに多くの情報を表示させることができます。
先ほど作成したボタンに、ツールチップを追加してみましょう。
青い字の部分はイベントハンドラーを追加したときに、自動的に生成されたXAMLのコードです。見やすいように改行しています。
赤い部分が、今回追加するコードです。

<my:RibbonTab Header="タブ1">
<my:RibbonGroup Header="グループ1">

<my:RibbonButton
Label="ボタン"
Click="RibbonButton_Click"

ToolTip="ツールチップのテスト"
>
</my:RibbonButton>

</my:RibbonGroup>
</my:RibbonTab>

このようにToolTipを指定して実行すると、ボタンの上にマウスカーソルを移動し、しばらく待つと下図のようになります。

しかし、これでは従来のツールチップと変わりありません。
そこで、ToolTipの部分を削除して、以下の赤い字のコードに置き換えます。ImageSourceの部分は、お手元のファイルを指定してください。

<my:RibbonTab Header="タブ1">
<my:RibbonGroup Header="グループ1">

<my:RibbonButton
Label="ボタン"
Click="RibbonButton_Click"

ToolTipTitle="リボンボタン"
ToolTipDescription="ツールチップに、長い文章も表示できます。"
ToolTipImageSource="c:\tmp\icon\test1.ico"
ToolTipFooterTitle="追加情報"
ToolTipFooterDescription="ツールチップの下に情報を追加できます"
ToolTipFooterImageSource="c:\tmp\icon\test2.ico"
>
</my:RibbonButton>

</my:RibbonGroup>
</my:RibbonTab>

実行すると、このように多くの情報を表示できます。

ToolTipの部分が残っていると、そちらが優先されるため従来のシンプルなツールチップしか表示できません。
必ず、ToolTipの部分を削除してください。

次回は、特定の条件の場合のみ表示させることができる、コンテキストタブについて説明する予定です。

[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回 : ~ボタンをクリックしたときの処理と多彩なツールチップ~

マイクロソフト
田中達彦