如何在页面初始化时打开菜单控件的子菜单?
这是我的菜单:
<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>
这是我的代码:
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
}
}
}
当我初始化页面类时,我想将参数传递给构造函数以说明哪个子菜单必须打开,但是,我正在努力找到打开特定子菜单的属性/事件。
更新
请注意,菜单位于选项卡控件中,如果我将菜单添加到默认打开的选项卡,则IsSubmenuOpen="True"
工作正常,但是,只要我将菜单添加到非选项卡中默认情况下打开然后这不起作用。一旦我更改标签,它似乎也会松开IsSubmenuOpen="True"
值,这不是我想要的。无论标签切换如何,我都希望它打开并保持打开状态。
答案 0 :(得分:1)
利用这个......
已经讨论过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>
调用Selection changed
的{{1}}并为第一个菜单项设置Tabcontrol
..