MenuItem.IsSubmenuOpen Property

Definition

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

C#
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public bool IsSubmenuOpen { get; set; }

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.

XAML
<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>
C#
private void FileMenu_Opened(object sender, RoutedEventArgs e)
{
    if (sender == e.Source)
    {
        recentFiles.IsSubmenuOpen = true;
        Keyboard.Focus(recentFiles);
    }
}

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

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10