SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――メニュー機能

(10) MenuコントロールとContextMenuコントロール

ダウンロード Menu_WPF_VB.zip (71.1 KB)
ダウンロード Menu_WPF_CS.zip (65.4 KB)

02.セパレータを挿入する

 メニューの項目と項目の間にセパレータを挿入するには Separatorコントロールを使用します。

 下記は[ファイル]メニューの[保存]と[終了]の間にセパレータを挿入する例です。

セパレータを挿入する例
セパレータを挿入する例
XAMLの例
<Grid Name="Grid1">
    <Menu VerticalAlignment="Top">
        <MenuItem Header="ファイル">
            <MenuItem Header="新規作成" />
            <MenuItem Header="保存" />
            <Separator />
            <MenuItem Header="終了" />
        </MenuItem>
        <MenuItem Header="編集">
            <MenuItem Header="切り取り" />
            <MenuItem Header="コピー" />
            <MenuItem Header="貼り付け" />
        </MenuItem>
    </Menu>
</Grid>
VBの例
'XAMLではなくコードでメニューを作成する場合は下記のようにします

Dim mainMenu As New Controls.Menu()
Dim menuFile As New MenuItem()
Dim menuFileNew As New MenuItem()
Dim menuFileSave As New MenuItem()
Dim menuFileSeparator As New Separator()    '←セパレータ
Dim menuFileEnd As New MenuItem()
Dim menuEdit As New MenuItem()
Dim menuEditCopy As New MenuItem()
Dim menuEditCut As New MenuItem()
Dim menuEditPaste As New MenuItem()


mainMenu.VerticalAlignment = VerticalAlignment.Top

'[ファイル]メニュー項目の作成
menuFile.Header = "ファイル"
menuFileNew.Header = "新規作成"
menuFileSave.Header = "保存"
menuFileEnd.Header = "終了"
'[ファイル]メニューに[新規作成][保存][終了]項目を追加
menuFile.Items.Add(menuFileNew)
menuFile.Items.Add(menuFileSave)
menuFile.Items.Add(menuFileSeparator)   '←セパレータの挿入
menuFile.Items.Add(menuFileEnd)


'[編集]メニュー項目の作成
menuEdit.Header = "編集"
menuEditCut.Header = "切り取り"
menuEditCopy.Header = "コピー"
menuEditPaste.Header = "貼り付け"
'[編集]メニューに[切り取り][コピー][貼り付け]項目を追加
menuEdit.Items.Add(menuEditCut)
menuEdit.Items.Add(menuEditCopy)
menuEdit.Items.Add(menuEditPaste)

'メインメニューに[ファイル]メニューを追加
mainMenu.Items.Add(menuFile)
'メインメニューに[編集]メニューを追加
mainMenu.Items.Add(menuEdit)

Me.Grid1.Children.Add(mainMenu)
C#の例
// XAMLではなくコードでメニューを作成する場合は下記のようにします

System.Windows.Controls.Menu mainMenu =
    new System.Windows.Controls.Menu();
MenuItem menuFile = new MenuItem();
MenuItem menuFileNew = new MenuItem();
MenuItem menuFileSave = new MenuItem();
Separator menuFileSeparator = new Separator();  // ←セパレータ
MenuItem menuFileEnd = new MenuItem();
MenuItem menuEdit = new MenuItem();
MenuItem menuEditCopy = new MenuItem();
MenuItem menuEditCut = new MenuItem();
MenuItem menuEditPaste = new MenuItem();

mainMenu.VerticalAlignment = VerticalAlignment.Top;

// [ファイル]メニュー項目の作成
menuFile.Header = "ファイル";
menuFileNew.Header = "新規作成";
menuFileSave.Header = "保存";
menuFileEnd.Header = "終了";
// [ファイル]メニューに[新規作成][保存][終了]項目を追加
menuFile.Items.Add(menuFileNew);
menuFile.Items.Add(menuFileSave);
menuFile.Items.Add(menuFileSeparator);  // ←セパレータの挿入
menuFile.Items.Add(menuFileEnd);


// [編集]メニュー項目の作成
menuEdit.Header = "編集";
menuEditCut.Header = "切り取り";
menuEditCopy.Header = "コピー";
menuEditPaste.Header = "貼り付け";
// [編集]メニューに[切り取り][コピー][貼り付け]項目を追加
menuEdit.Items.Add(menuEditCut);
menuEdit.Items.Add(menuEditCopy);
menuEdit.Items.Add(menuEditPaste);

// メインメニューに[ファイル]メニューを追加
mainMenu.Items.Add(menuFile);
// メインメニューに[編集]メニューを追加
mainMenu.Items.Add(menuEdit);

this.Grid1.Children.Add(mainMenu);
ポイント

 セパレータを挿入するにはSeparatorコントロールを使用する。

次のページ
03.アクセスキーを設定する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5769 2011/03/03 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー