Как оформить меню WPF так, чтобы навигация второго уровня отображалась горизонтально, а не вертикально? - PullRequest
1 голос
/ 16 апреля 2010

Я создаю приложение WPF с использованием C # 3.5 У меня есть меню WPF в верхней части приложения.

При нажатии на элемент меню верхнего уровня мне нужно, чтобы второй уровень меню отображался горизонтально, а не вертикально "и" оставался открытым (не исчезал, как обычное меню).

Мне нужно что-то похожее на следующий снимок экрана альтернативный текст http://img341.imageshack.us/img341/1694/navigationecopy.jpg

Как мне стилизовать меню WPF, чтобы изменить его поведение, как указано выше?

1 Ответ

2 голосов
/ 16 апреля 2010

Хорошо, попробовав это, я не думаю, что перенастройка 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...