目前我在WPF中制作了一个包含网格和其他控件的边框.我面临的问题是,每当我将Border.Effect属性设置为投影效果时,边框中包含的每个控件现在都有一个投影.有没有办法将阴影设置为边框而不是边框中包含的每个控件?
以下是我的代码的简短示例:
<Grid>
<Border Margin="68,67,60,67" BorderBrush="Black" BorderThickness="1" CornerRadius="10">
<Border.Effect>
<DropShadowEffect/>
</Border.Effect>
<Rectangle Fill="White" Stroke="Black" Margin="37,89,118,98" />
</Border>
</Grid>
Run Code Online (Sandbox Code Playgroud)
Bra*_*ham 44
两种选择:
选项1:添加一个带有效果的边框元素作为您拥有的边框/矩形元素树的兄弟.像这样的东西:
<Grid>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
</Border>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Rectangle Fill="White"
Stroke="Black"
Margin="37,89,118,98">
</Rectangle>
</Border>
</Grid>
Run Code Online (Sandbox Code Playgroud)
选项2:将矩形作为border元素的兄弟,如下所示:
<Grid>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
</Border>
<Rectangle Fill="White"
Stroke="Black"
Margin="37,89,118,98">
</Rectangle>
</Grid>
Run Code Online (Sandbox Code Playgroud)
注意:您必须在第二个解决方案上调整布局,以使矩形在您想要的位置排成一行
| 归档时间: |
|
| 查看次数: |
84449 次 |
| 最近记录: |