2013-11-02 34 views
2

我想重寫ContextMenu的樣式。
這裏是我的風格:WPF重寫ContextMenu樣式 - 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

當然你不會看到陰影,因爲它應用於視覺樹中最頂層的元素。給你的邊界留一些邊距,你會看到陰影效果。

Regards