2013-11-02 5 views
2

Я хочу переопределить стиль ContextMenu.
Вот мой стиль:WPF переопределение ContextMenu style - DropShadowEffect не работает

<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> 

Я не знаю почему, но тень не работает (я не вижу тень).
Как это можно решить?

ответ

5

, конечно, вы не увидите тень, потому что она применяется к самому верхнему элементу визуального дерева. дайте некоторый запас вашей границе, и вы увидите эффект тени.

С уважением

Смежные вопросы