【问题标题】:WPF ContextMenu Design. How to set Background in WPF MenuItem?WPF 上下文菜单设计。如何在 WPF MenuItem 中设置背景?
【发布时间】:2009-11-04 11:13:25
【问题描述】:

我创建这样的弹出菜单。

<DockPanel.ContextMenu>
    <ContextMenu Background="#CD252220" Opacity="0.95" Foreground="LightGray" BorderBrush="DarkGray">
        <MenuItem Header="_Save Image..." x:Name="btSave" IsEnabled="False" Click="btSave_Click" Style="{StaticResource MyStyle}">
            <MenuItem.Icon>
                <Image Source="icons/save.png" Width="16" Height="16" Style="{StaticResource IconStyle}"/>
            </MenuItem.Icon>
        </MenuItem>
    </ContextMenu>
</DockPanel.ContextMenu>

为什么这个菜单的左边是白色的?????? 会是#CD252220颜色或透明的,发髻不是白色的!!!!!! 如何解决? :)

http://itrash.ru/idb/40e872e71346dcf9bd58ba8aec0b2a17/omenu.png.html - 菜单截图

附: XP下没问题。只有 Vista 上的菜单是白色(没有 W7)

【问题讨论】:

    标签: wpf xaml transparency contextmenu menuitem


    【解决方案1】:

    我找到了解决办法!您只需在样式定义部分中设置属性 OverridesDefaultStyle ;)

    <Style x:Key="{x:Type ContextMenu}" TargetType="{x:Type ContextMenu}">
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type ContextMenu}">
    <Border Background="#CD222120" CornerRadius="7, 7, 8, 8" BorderBrush="DarkGray" BorderThickness="2" Opacity="0.96">
    <StackPanel ClipToBounds="True" Orientation="Vertical" IsItemsHost="True" Margin="5,4,5,4"/>
    </Border>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    <ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="{x:Type MenuItem}">
    <Border Name="Border" >
    <Grid>
    <ContentPresenter Margin="6,3,6,3" ContentSource="Header" RecognizesAccessKey="True" />
    </Grid>
    </Border>
    </ControlTemplate>
    

    【讨论】:

      【解决方案2】:

      如果您要为上下文菜单声明自定义样式,那么所有操作系统的样式都是一样的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 1970-01-01
        • 2011-09-10
        • 1970-01-01
        相关资源
        最近更新 更多