MenuItem 内的按钮不会打开 Sub-MenuItems
Button inside a MenuItem won't open Sub-MenuItems
我在 MenuItem.Header
中有一个 Button
,如下所示:
<Menu>
<MenuItem>
<MenuItem.Header>
<Button>Hello</Button>
</MenuItem.Header>
<MenuItem Header="SubItem1"/>
<MenuItem Header="SubItem2"/>
</MenuItem>
</Menu>
如果我单击 MenuItem
外部 Button
,子菜单将打开。但是如果我点击 Button
子菜单将不会打开。我相信那是因为点击的事件没有传递给 MenuItem
。我如何解决它?
简而言之 - 我希望在单击 Button
时打开子菜单。
(使用主要是为了样式,我有一个按钮样式,想把它当作一个MenuItem
)
A Button
不知道如何展开 MenuItem
除非您通过编写一些代码告诉它如何展开:
<Menu>
<MenuItem>
<MenuItem.Header>
<Button Click="Button_Click">Hello</Button>
</MenuItem.Header>
<MenuItem Header="SubItem1"/>
<MenuItem Header="SubItem2"/>
</MenuItem>
</Menu>
private void Button_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
MenuItem mi = btn.Parent as MenuItem;
if (mi != null)
mi.IsSubmenuOpen = !mi.IsSubmenuOpen;
}
我在 MenuItem.Header
中有一个 Button
,如下所示:
<Menu>
<MenuItem>
<MenuItem.Header>
<Button>Hello</Button>
</MenuItem.Header>
<MenuItem Header="SubItem1"/>
<MenuItem Header="SubItem2"/>
</MenuItem>
</Menu>
如果我单击 MenuItem
外部 Button
,子菜单将打开。但是如果我点击 Button
子菜单将不会打开。我相信那是因为点击的事件没有传递给 MenuItem
。我如何解决它?
简而言之 - 我希望在单击 Button
时打开子菜单。
(使用主要是为了样式,我有一个按钮样式,想把它当作一个MenuItem
)
A Button
不知道如何展开 MenuItem
除非您通过编写一些代码告诉它如何展开:
<Menu>
<MenuItem>
<MenuItem.Header>
<Button Click="Button_Click">Hello</Button>
</MenuItem.Header>
<MenuItem Header="SubItem1"/>
<MenuItem Header="SubItem2"/>
</MenuItem>
</Menu>
private void Button_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
MenuItem mi = btn.Parent as MenuItem;
if (mi != null)
mi.IsSubmenuOpen = !mi.IsSubmenuOpen;
}