Edit

Share via


MenuItem.IsSubmenuOpen Property

Definition

Gets or sets a value that indicates whether the submenu of the MenuItem is open.

public:
 property bool IsSubmenuOpen { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public bool IsSubmenuOpen { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.IsSubmenuOpen : bool with get, set
Public Property IsSubmenuOpen As Boolean

Property Value

true if the submenu of the MenuItem is open; otherwise, false. The default is false.

Attributes

Examples

The following example shows how to open a submenu of a MenuItem. In this example, the MenuItem called fileMenu contains a MenuItem called recentFiles that has a submenu. When fileMenu is opened, the SubmenuOpened event is raised and the FileMenu_Opened event handler opens the submenu of recentFiles.

<Menu>
  <MenuItem Name="fileMenu"
            Header="_File"
            SubmenuOpened="FileMenu_Opened">

    <MenuItem Name="recentFiles" 
              Header="Recent files">

      <MenuItem Header="file 1"
                IsCheckable="True"/>

      <MenuItem Header="file 2"
                IsCheckable="True"/>
    </MenuItem>
    <Separator/>
    <MenuItem Name="closeMenu" 
              Header="Close all Files"/>
  </MenuItem>
</Menu>
private void FileMenu_Opened(object sender, RoutedEventArgs e)
{
    if (sender == e.Source)
    {
        recentFiles.IsSubmenuOpen = true;
        Keyboard.Focus(recentFiles);
    }
}
Private Sub FileMenu_Opened(ByVal sender As Object, ByVal e As RoutedEventArgs)
    If sender Is e.Source Then
        recentFiles.IsSubmenuOpen = True
        Keyboard.Focus(recentFiles)
    End If
End Sub

Remarks

When IsSubmenuOpen is set to true, mouse capture is set to the MenuItem and its subtree.

Dependency Property Information

Item Value
Identifier field IsSubmenuOpenProperty
Metadata properties set to true BindsTwoWayByDefault

Applies to