[英]Wpf - Drop shadow disappears
我创建了一个没有样式的窗口,并添加了自定义边框。 我需要我的窗户放下阴影。
<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>
但是当我像这样设置宽度和高度时,我的阴影消失了:
Width="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}}, Path=Width}"
请帮助我找到解决方案。 谢谢
由于我们没有您解决方案的完整范围,因此我必须假定边框位于分配给窗口样式的ControlTemplate内。 请记住,如果要将DropShadowEffect应用于根窗口,则需要对其进行填充,否则将看不到它。 将Padding =“ 10”应用于Border,您应该会看到它。
尝试在Windows尺寸上添加阴影的X和Y厚度
不要在根部视觉效果上应用效果! 在这种情况下,它们适用于视觉树下的所有子级,并且会降低性能。 使用下一个模式:
<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>
保证金取决于效果强度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.