今回はC#(WPF)アプリにメニューを付ける方法をサンプルコード付きで紹介します。使用頻度が高い操作はメニューバーに配置するユーザビリティが向上します。またGUIのスペースを圧迫しないメリットもあります。
C#でメニュー(Menu)を実装する方法
メニューの見た目
以下のような見た目です。

アプリでよく見かける見た目とおおよそ同じ感じです。
画像はデフォルトですが、背景・文字の色は変更できます。
メニューを使うメリット
メリット以下の通り。
- よく使う機能をまとめて分かりやす場所に配置できる。
- 画面上スペースを圧迫しない。
- 後からボタンの追加しやすい
サンプルコード
以下のようなメニューを作成しました。

XAMLは以下の通り。
<Grid>
<StackPanel Orientation="Vertical" >
<!--Menu-->
<Menu>
<MenuItem Header="ファイル(_F)">
<MenuItem Header="保存" Click="Save_Click" />
<MenuItem Header="閉じる" Click="Close_Click" />
</MenuItem>
<MenuItem Header="編集">
<MenuItem Header="編集 1" />
<MenuItem Header="編集 2" />
<MenuItem Header="編集 3" />
</MenuItem>
</Menu>
</StackPanel>
</Grid>
クリックイベントは以下のようにすれば処理できます。
//保存
private void Save_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("メニュー操作:保存");
}
//閉じる
private void Close_Click(object sneder, RoutedEventArgs e)
{
Console.WriteLine("メニュー操作:閉じる");
Close();
}
MVVMでやりたい場合は、XAMLで「Click」ではなく「Command」でを使えばできます。
(MVVMプロジェクトを作りたい方はこちらの記事を参照)
メニューは、普通にボタンの配置を増やすよりも省スペースなうえ、追加もしやすいのが魅力ですね。
以下はWPF(XAML)を学びたい方におススメの本。
リンク


コメント