メニュー系コントロール地味だけど、ちゃんとしたアプリだと使うところですよね。ということで今日は普通のメニューコントロールです。
Menuコントロール
Menuコントロールは、Window上部などに表示されるメニュー項目です。一般的にファイル、編集などの項目などがあります。WPFのMenuコントロールを使うと以下のようなメニューを作成することが出来ます。
基本的な使い方
Menuコントロールも通常のコントロールと同様に、画面の好きな位置にレイアウトできます。そのため一般的なメニューの位置である画面上部に表示するためには、Gridなどのレイアウトコントロールを使い画面の上部に表示されるように調整する必要があります。 画面の置き場所をレイアウトする以外は、基本的にContextMenuコントロールと同様の方法で使うことが出来ます。上記の例のような画面を表示するためのXAMLを以下に示します。
<Grid><Grid.RowDefinitions><RowDefinition Height="Auto" /><RowDefinition /></Grid.RowDefinitions><Menu><MenuItem Header="ファイル(_F)" /><MenuItem Header="編集(_E)" /><MenuItem Header="オプション(_O)"><MenuItem IsCheckable="True"Header="オプション1" /><MenuItem IsCheckable="True"Header="オプション2" /><MenuItem IsCheckable="True"Header="オプション3" /></MenuItem></Menu></Grid>
Gridコントロールを使用して、画面上部にMenuコントロールを配置しています。MenuコントロールではなくMenuItemコントロールの使い方になりますが、Headerプロパティに”_F”などのように記述すると、Altを押した後のキーボードショートカットを指定することが出来ます。 また、オプションメニューで示しているようにIsCheckableプロパティをtrueにすることで、チェック可能なメニュー項目を作成可能です。チェックの有無の確認はIsCheckedプロパティで指定可能です。
プロパティ | 説明 |
---|---|
public bool IsCheckable { get; set; } | MenuItemがチェック可能かどうかを取得または設定します。Trueの場合に、チェック可能となります。 |
public bool IsChecked { get; set; } | MenuItemがチェックされているかどうかを取得または設定します。チェックされている場合Trueになります。 |
過去記事
- WPF4.5入門 その1 「はじめに」
- WPF4.5入門 その2 「WPFとは」
- WPF4.5入門 その3 「Hello world」
- WPF4.5入門 その4 「Mainメソッドはどこにいった?」
- WPF4.5入門 その5 「全てC#でHello world」
- WPF4.5入門 その6 「WPFを構成するものを考えてみる」
- WPF4.5入門 その7 「XAMLのオブジェクト要素と名前空間」
- WPF4.5入門 その8 「オブジェクト要素のプロパティ」
- WPF4.5入門 その9 「コレクション構文」
- WPF4.5入門 その10 「コンテンツ構文」
- WPF4.5入門 その11 「マークアップ拡張」
- WPF4.5入門 その12 「その他のXAMLの機能」
- WPF4.5入門 その13 「簡単なレイアウトを行うコントロール」
- WPF4.5入門 その14 「レイアウトコントロールのCanvasとStackPanel」
- WPF4.5入門 その15 「レイアウトコントロールのDockPanelとWrapPanel」
- WPF4.5入門 その16 「ViewBoxコントロール」
- WPF4.5入門 その17 「ScrollViewerコントロール」
- WPF4.5入門 その18 「Gridコントロール part 1」
- WPF4.5入門 その19 「Gridコントロール part 2」
- WPF4.5入門 その20 「レイアウトに影響を与えるプロパティ」
- WPF4.5入門 その21 「WPFのコンセプトと重要な機能つまみ食い」
- WPF4.5入門 その22 「Buttonコントロール」
- WPF4.5入門 その23 「DataGridコントロール その1」
- WPF4.5入門 その24 「DataGridコントロール その2」
- WPF4.5入門 その25 「TreeViewコントロール その1」
- WPF4.5入門 その26 「TreeViewコントロール その2」
- WPF4.5入門 その28 「Calendarコントロール」 - かずきのBlog@hatena
- WPF4.5入門 その29 「ContextMenuコントロール」 - かずきのBlog@hatena