次の方法で共有


MenuGroup クラス

メニュー項目のグループを表します。

継承階層

System.Object
  Microsoft.Windows.Design.Interaction.MenuBase
    Microsoft.Windows.Design.Interaction.MenuGroup

名前空間:  Microsoft.Windows.Design.Interaction
アセンブリ:  Microsoft.Windows.Design.Interaction (Microsoft.Windows.Design.Interaction.dll 内)

構文

'宣言
Public Class MenuGroup _
    Inherits MenuBase
public class MenuGroup : MenuBase
public ref class MenuGroup : public MenuBase
type MenuGroup =  
    class
        inherit MenuBase
    end
public class MenuGroup extends MenuBase

MenuGroup 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
パブリック メソッド MenuGroup(String) 指定したグループ名を持つ MenuGroup クラスの新しいインスタンスを初期化します。
パブリック メソッド MenuGroup(String, String) 指定したグループ名と表示名を持つ MenuGroup クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ Context 現在の編集コンテキストを取得します。 (MenuBase から継承されます。)
パブリック プロパティ DisplayName メニュー項目に表示するローカライズされたテキストを取得または設定します。 (MenuBase から継承されます。)
パブリック プロパティ HasDropDown Items コレクション内のメニュー項目をサブメニューに追加するかどうかを示す値を取得または設定します。
パブリック プロパティ Items 同じメニュー グループ内に兄弟として表示するメニュー項目のリストを取得します。
パブリック プロパティ Name メニュー項目の一意の識別子を取得または設定します。 (MenuBase から継承されます。)

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Equals 指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnPropertyChanged PropertyChanged イベントを発生させます。 (MenuBase から継承されます。)
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント PropertyChanged プロパティが変更されると発生します。 (MenuBase から継承されます。)

このページのトップへ

解説

メニュー項目は、MenuAction クラスによって表されます。 メニュー グループには、メニューの直接のメニュー項目のコレクションか、フライアウト メニューとも呼ばれるサブメニューとしてのメニュー項目のコレクションを含めることができます。 メニュー項目をサブメニューとして表示するには、HasDropDown プロパティを設定します。

コンテキスト メニュー項目を表示するには、PrimarySelectionContextMenuProvider クラスから継承し、MenuAction 項目および関連する MenuGroup を作成します。

2 つの MenuAction 項目をセットアップし、これらを MenuGroup に割り当てる方法を次のコード例に示します。 詳細については、「チュートリアル: メニュー プロバイダーの作成」を参照してください。

' The provider's constructor sets up the MenuAction objects 
' and the the MenuGroup which holds them.
Public Sub New()

    ' Set up the MenuAction which sets the control's 
    ' background to Blue.
    setBackgroundToBlueMenuAction = New MenuAction("Blue")
    setBackgroundToBlueMenuAction.Checkable = True
    AddHandler setBackgroundToBlueMenuAction.Execute, AddressOf SetBackgroundToBlue_Execute

    ' Set up the MenuAction which sets the control's 
    ' background to its default value.
    clearBackgroundMenuAction = New MenuAction("Cleared")
    clearBackgroundMenuAction.Checkable = True
    AddHandler clearBackgroundMenuAction.Execute, AddressOf ClearBackground_Execute

    ' Set up the MenuGroup which holds the MenuAction items.
    Dim backgroundFlyoutGroup As New MenuGroup("SetBackgroundsGroup", "Set Background")

    ' If HasDropDown is false, the group appears inline, 
    ' instead of as a flyout. Set to true.
    backgroundFlyoutGroup.HasDropDown = True
    backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction)
    backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction)
    Me.Items.Add(backgroundFlyoutGroup)

    ' The UpdateItemStatus event is raised immediately before 
    ' this provider shows its tabs, which provides the opportunity 
    ' to set states.
    AddHandler UpdateItemStatus, AddressOf CustomContextMenuProvider_UpdateItemStatus

End Sub
// The provider's constructor sets up the MenuAction objects 
// and the the MenuGroup which holds them.
public CustomContextMenuProvider()
{   
    // Set up the MenuAction which sets the control's 
    // background to Blue.
    setBackgroundToBlueMenuAction = new MenuAction("Blue");
    setBackgroundToBlueMenuAction.Checkable = true;
    setBackgroundToBlueMenuAction.Execute += 
        new EventHandler<MenuActionEventArgs>(SetBackgroundToBlue_Execute);

    // Set up the MenuAction which sets the control's 
    // background to its default value.
    clearBackgroundMenuAction = new MenuAction("Cleared");
    clearBackgroundMenuAction.Checkable = true;
    clearBackgroundMenuAction.Execute += 
        new EventHandler<MenuActionEventArgs>(ClearBackground_Execute);

    // Set up the MenuGroup which holds the MenuAction items.
    MenuGroup backgroundFlyoutGroup = 
        new MenuGroup("SetBackgroundsGroup", "Set Background");

    // If HasDropDown is false, the group appears inline, 
    // instead of as a flyout. Set to true.
    backgroundFlyoutGroup.HasDropDown = true;
    backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction);
    backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction);
    this.Items.Add(backgroundFlyoutGroup);

    // The UpdateItemStatus event is raised immediately before 
    // this provider shows its tabs, which provides the opportunity 
    // to set states.
    UpdateItemStatus += 
        new EventHandler<MenuActionEventArgs>(
            CustomContextMenuProvider_UpdateItemStatus);
}

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

Microsoft.Windows.Design.Interaction 名前空間

MenuAction

PrimarySelectionContextMenuProvider

その他の技術情報

チュートリアル: メニュー プロバイダーの作成