C# WPF как поменять стиль у MenuItem

Подскажите, пожалуйста, как поменять стиль у MenuItem так, чтобы его flyout (или что-то другое) был черным На данный момент выглядит вот так введите сюда описание изображения

Мне нужно вот так введите сюда описание изображения


Ответы (1 шт):

Автор решения: Nick

Вам нужно настроить шаблон родительского MenuItem, а если конкретней, то настроить его Popup

Xaml стиля:

<Style x:Key="ParentMenuItem" TargetType="MenuItem" >
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type MenuItem}">
                    <Border x:Name="Border">
                        <Grid>
                            <ContentPresenter Margin="6,3,6,3" ContentSource="Header" RecognizesAccessKey="True" />
                            <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
                                <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" BorderThickness="2" Background="#3c3c3c">
                                    <Border.BorderBrush>
                                        <SolidColorBrush Color="#868686" />
                                    </Border.BorderBrush>
                                    <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
                                </Border>
                            </Popup>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Xaml Menu:

<Menu VerticalAlignment="Top" Height="25" BorderBrush="Blue">
        <MenuItem Header="1" Style="{StaticResource ParentMenuItem}">
            <MenuItem Foreground="White" Background="#1f1f1f" Header="1" ></MenuItem>
            <MenuItem Foreground="White" Background="#1f1f1f" Header="2"></MenuItem>
        </MenuItem>
        <MenuItem Header="2" Style="{StaticResource ParentMenuItem}">
            <MenuItem Foreground="White" Background="#1f1f1f"  Header="1" ></MenuItem>
            <MenuItem Foreground="White" Background="#1f1f1f"  Header="2" ></MenuItem>
        </MenuItem>
        <MenuItem Header="3" Style="{StaticResource ParentMenuItem}">
            <MenuItem Foreground="White" Background="#1f1f1f"  Header="1" ></MenuItem>
            <MenuItem Foreground="White" Background="#1f1f1f"  Header="2" ></MenuItem>
        </MenuItem>
    </Menu>

Визуализация:

введите сюда описание изображения

→ Ссылка