Reputation: 4830
How can I open a Menu Control's submenu on init of the page?
Here is my Menu:
<Menu Name="mnuData" IsMainMenu="True">
<MenuItem Header="_Clients">
<MenuItem Header="Child 1"></MenuItem>
<MenuItem Header="Child 2"></MenuItem>
<MenuItem Header="Child 3"></MenuItem>
</MenuItem>
<MenuItem Header="_Drivers">
<MenuItem Header="Child 4"></MenuItem>
<MenuItem Header="Child 5"></MenuItem>
<MenuItem Header="Child 6"></MenuItem>
</MenuItem>
<MenuItem Header="_Trucks">
<MenuItem Header="Child 7"></MenuItem>
<MenuItem Header="Child 8"></MenuItem>
</MenuItem>
<MenuItem Header="T_ransporters">
<MenuItem Header="Child 7"></MenuItem>
<MenuItem Header="Child 8"></MenuItem>
</MenuItem>
</Menu>
Here is my Code:
namespace NJPTransport.Pages
{
/// <summary>
/// Interaction logic for Data.xaml
/// </summary>
public partial class Data : UserControl
{
public Data()
{
InitializeComponent();
// mnuMenu. ...... open submenu for specific item here
}
}
}
When I initialise the page class, I want to pass arguments to the constructor to say which submenu must be open, however, I am struggling to find the property / event that opens a specific submenu.
UPDATE
Please note that the Menu is located within a tab control, if I add the menu to the tab that is open by default, then IsSubmenuOpen="True"
works fine, however, as soon as I add the menu to a tab that is not open by default then this does not work. It also seems to loose the IsSubmenuOpen="True"
value as soon as I change tabs, which is not what I want. I want it to open and stay open regardless of tab switching.
Upvotes: 0
Views: 619
Reputation: 2665
make use of this...
Already this has been discussed here.
<TabControl SelectionChanged="Selector_OnSelectionChanged">
<TabItem Header="Tab1" IsSelected="True" />
<TabItem Header="Tab2" IsSelected="False">
<Menu Name="mnuData" IsMainMenu="True">
<MenuItem x:Name="ClientsMenuItem"
Header="_Clients"
IsSubmenuOpen="True">
<MenuItem Header="Child 1" />
<MenuItem Header="Child 2" />
<MenuItem Header="Child 3" />
</MenuItem>
<MenuItem Header="_Drivers">
<MenuItem Header="Child 4" />
<MenuItem Header="Child 5" />
<MenuItem Header="Child 6" />
</MenuItem>
<MenuItem Header="_Trucks">
<MenuItem Header="Child 7" />
<MenuItem Header="Child 8" />
</MenuItem>
<MenuItem Header="T_ransporters">
<MenuItem Header="Child 7" />
<MenuItem Header="Child 8" />
</MenuItem>
</Menu>
</TabItem>
</TabControl>
Invoke the Selection changed
of the Tabcontrol
and Set the IsSubmenuOpen="True"
for first Menu Item..
Upvotes: 1