Хорошо, попробовав это, я не думаю, что перенастройка Menu
- хорошая идея.Menu
очень сложный контроль.Лучше было бы избегать использования меню целиком и использовать элемент управления с поведением, аналогичным описанному вами (выбранные элементы остаются открытыми, могут отображать своих дочерних элементов по горизонтали и т. Д.).TabControl
очень хорошо подходит, поэтому я бы просто использовал его вместо этого.Вот некоторый пример XAML, чтобы показать вам, как это может работать:
<TabControl VerticalAlignment="Top">
<TabItem Header="MAIN ACTIONS"/>
<TabItem Header="GOALS" IsSelected="True">
<StackPanel Orientation="Horizontal">
<ToggleButton Margin="5">Enter Goals</ToggleButton>
<ToggleButton Margin="5">Edit Goals</ToggleButton>
<ToggleButton IsChecked="True" Margin="5">View Work Plan</ToggleButton>
</StackPanel>
</TabItem>
<TabItem Header="ACTIVITIES"/>
</TabControl>
Очевидно, вам нужно будет изменить стиль TabControl
со шрифтами и цветами, чтобы получить желаемый вид.А для подменю я бы фактически использовал переключатели вместо переключателей, чтобы гарантировать, что только одна может быть выбрана за раз (вам нужно будет также повторно изменить шаблон переключателя).Но даже если взглянуть на этот простой результат, вы увидите, что этот элемент управления вполне подходит для вашего сценария:
alt text http://img94.imageshack.us/img94/2358/tabcontrolmenu.png