2012-05-11 50 views
1

我创建了一个没有样式的窗口并添加了一个自定义边框。我需要我的窗户投下阴影。Wpf - 阴影消失

<Border BorderBrush="#000000 "   
        BorderThickness="1,0,1,1" Width="400" 
          Height="400" 
          VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
        CornerRadius="10, 10, 0, 0" 
        Background="Black"> 
         <Border.Effect> 
          <DropShadowEffect Color="Black" Direction="320" 
            ShadowDepth="5" Opacity="1" BlurRadius="5" /> 
         </Border.Effect></Border> 

但我的影子消失,当我设置宽度和高度是这样的:

帮助我找到一个解决方案,请。由于

+0

通过在边缘5内添加另一个边框并将边框厚度设置为“0” – Lullaby

回答

0

尝试在X的影子的&Ÿ厚度添加到您的Windows尺寸

1

由于我们没有解决方案的全部范围,我必须假设的边境是一个控件模板是内分配给窗口的风格。请记住,如果您要将DropShadowEffect应用于根窗口,则需要对其进行填充,否则您将看不到它。应用填充=“10”到边框,你应该看到它。

0

不要对根视觉效果施加影响!在这种情况下,它们适用于所有儿童的视觉树,并且会导致性能下降。 使用下一图案:

<Grid x:Name="RootWindowGrid"> 
    <Border x:Name="BorderWithEffect" Margin="5"> 
     <Border.Effect> 
     <DropShadowEffect Color="Black" Direction="320" ShadowDepth="5" Opacity="1" BlurRadius="5" /> 
     </Border.Effect> 
    </Border> 

    <Border x:Name="RootBorder_ForAll_Another_Window_Visuals" Margin="5"/> 
</Grid> 

边距取决于效果强度。