Каков наилучший способ стилизовать MenuItem для стилизованного меню в WPF? - PullRequest
0 голосов
/ 10 ноября 2010

Я только начал с WPF и хотел бы получить несколько советов:

У меня есть меню, которое выглядит так:

<Menu Name="MenuBar"
    Grid.Row="0"
    HorizontalAlignment="Right"
    Style="{DynamicResource MenuBarStyle}">
    <MenuItem Header="Settings" />
    <MenuItem Header="Help" />
</Menu>

И в моем Window.Resources я определил этот стиль:

<Style x:Key="MenuBarStyle" TargetType="{x:Type Menu}">
    <Setter Property="Background" Value="{x:Null}" />
    <Setter Property="Foreground" Value="White" />
    <Setter Property="FontSize" Value="10" />
</Style>

Это работает, как я и ожидал. Однако я также хотел бы изменить свойство Padding каждого MenuItem в моем Меню. Каков наилучший способ сделать это? Моей первоначальной мыслью было создать отдельный стиль и применить его к каждому элементу MenuItem, но как бы это работало, если бы мои элементы MenuItem были добавлены динамически (их не будет, но просто из любопытства)? Есть ли способ нацелить дочерний MenuItem из моего стиля "MenuStyle"?

Спасибо

Steve

1 Ответ

1 голос
/ 10 ноября 2010

Вы можете использовать «неявный» стиль (один без атрибута x: Key) и настроить его для типа MenuItem. Этот стиль затем выбирается неявно по умолчанию для всех элементов меню. Поместите этот стиль в Menu.Resources, если вы хотите, чтобы он использовался только этим меню, в противном случае в Window.Resources, где используется ваш стиль Menu.

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