Wpf-阴影消失

Wpf-阴影消失,wpf,shadow,effect,Wpf,Shadow,Effect,我创建了一个没有样式的窗口,并添加了自定义边框。我需要我的窗户投下阴影 <Border BorderBrush="#000000 " BorderThickness="1,0,1,1" Width="400" Height="400" VerticalAlignment="Stretch" HorizontalAl

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

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

请帮我找到解决办法。感谢您尝试将阴影的X&Y厚度添加到您的窗口尺寸中

尝试将阴影的X&Y厚度添加到您的窗口尺寸中

由于我们没有您的解决方案的全部范围,我必须假设边框位于指定给窗口样式的控制模板中。请记住,如果要对根窗口应用DropShadowEffect,则需要对其进行填充,否则将看不到它。将Padding=“10”应用于边框,您应该会看到它。

由于我们没有您的解决方案的全部范围,我必须假设边框位于分配给窗口样式的ControlTemplate中。请记住,如果要对根窗口应用DropShadowEffect,则需要对其进行填充,否则将看不到它。将Padding=“10”应用于边框,您应该会看到它。

不要对根视觉效果应用效果!在这种情况下,它们适用于视觉树下的所有子级,并将导致性能降低。 使用下一种模式:

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


边距取决于效果强度。

不要对根视觉效果应用效果!在这种情况下,它们适用于视觉树下的所有子级,并将导致性能降低。 使用下一种模式:

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


边距取决于效果强度。

通过在边距为5的边框内添加另一个边框并设置外部边框厚度=“0”进行修复,通过在边距为5的边框内添加另一个边框并设置外部边框厚度=“0”进行修复