Вертикальное меню WPF - показывает первое подменю слева - PullRequest
0 голосов
/ 31 мая 2009

В настоящее время я пытаюсь заставить меню WPF отображаться вертикально. Я использовал следующий код:

<Menu.ItemsPanel>
    <ItemsPanelTemplate>
        <VirtualizingStackPanel Orientation="Vertical"/>
    </ItemsPanelTemplate>
</Menu.ItemsPanel>

это нормально, но я бы хотел, чтобы подменю показывалось слева от каждого корневого пункта меню. какие-нибудь указатели о том, как это сделать?

Ответы [ 3 ]

2 голосов
/ 10 декабря 2012

Для создания нового шаблона MenuItem вы должны использовать метод стилей и шаблонов. Подробнее о стилях и шаблонах см. В этой статье MSDN по Стиль и шаблоны

Создание или изменение шаблона для MenuItem можно легко выполнить в Expression Blend, см. эта статья MSDN Создание или изменение шаблона

Настройка по умолчанию для места подэлемента MenuItem находится справа от корневого элемента MenuItem, за исключением элемента меню TopLevelHeader, чьи подэлементы MenuIm являются раскрывающимися. Если вы хотите, чтобы элемент меню TopLevelHeader также находился справа, вам просто нужно создать новый шаблон элемента меню по умолчанию и изменить настройку элемента меню TopLevelHeader. В blend вам просто нужно изменить ResourceId на SubmenuHeaderTemplateKey в разделе кода XAML для шаблона.

    <Trigger Property="Role" Value="TopLevelHeader">
                <Setter Property="Padding" Value="7,2,8,3"/>
                <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
    </Trigger>
0 голосов
/ 16 января 2012
<Menu>
    <Menu.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel Orientation="Vertical"/>
        </ItemsPanelTemplate>
    </Menu.ItemsPanel>
</Menu>

Я надеюсь, что это может помочь

0 голосов
/ 01 июня 2009

Вы должны настроить шаблон элемента управления MenutItem . Если у вас нет примеров шаблона этого элемента управления, вы можете создать его с помощью функции blend «edit template -> edit a copy ...». Там вы должны найти элемент управления Popup и изменить его Свойство размещения на любое другое. Это всплывающее окно, где размещаются подэлементы.

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