【问题标题】:WPF overriding ContextMenu style - DropShadowEffect not workingWPF 覆盖 ContextMenu 样式 - DropShadowEffect 不起作用
【发布时间】:2013-11-02 10:34:35
【问题描述】:

我想覆盖ContextMenu 的样式。
这是我的风格:

<SolidColorBrush x:Key="WindowBackgroundBrush" Color="#E7E8EC" />
<SolidColorBrush x:Key="SolidBorderBrush" Color="#CCCEDB" />
<Color x:Key="DropShadowColor">#808080</Color>

<Style TargetType="{x:Type ContextMenu}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="FontFamily" Value="Segoe UI"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ContextMenu}">
                <Border Name="Border" Background="{StaticResource WindowBackgroundBrush}" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" >
                    <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
                    <Border.Effect>
                        <DropShadowEffect Color="{StaticResource DropShadowColor}" Opacity="0.60" ShadowDepth="4"/>
                    </Border.Effect>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

我不知道为什么,但是阴影不起作用(我没有看到阴影)。
我该如何解决?

【问题讨论】:

    标签: wpf xaml styles contextmenu


    【解决方案1】:

    当然你不会看到阴影,因为它被应用到可视化树中最顶层的元素。给你的边框留一些边距,你会看到阴影效果。

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-31
      • 2020-07-10
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      相关资源
      最近更新 更多