【问题标题】:Shadow like border outside Border element in XamlXaml中Border元素外的阴影状边框
【发布时间】:2021-07-02 11:52:33
【问题描述】:

我需要我的组件有一个靠近组件的深色边框,然后它会逐渐消失。 DropShadowEffect 仅出现在两侧(右侧和下部),而我希望它出现在所有四个侧面。 这就是我需要的

虽然我目前有类似的东西,

这是我当前的代码,

<Border x:Name="ShadowBorder" BorderThickness="1" Width="242" Height="280" Margin="5,5,5,5">
    <Border.BorderBrush>
        <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5">
            <GradientStop Color="Blue" Offset="0"/>
            <GradientStop Color="LightBlue" Offset="1"/>
        </RadialGradientBrush>
    </Border.BorderBrush>
</Border>

【问题讨论】:

  • 我会尝试使用DropShadowEffectBlurRadiusOpacity。嗯..也许使用多个DropShadowEffect 和不同的Direction 会做吗?否则,您可能会尝试编写具有多个方向阴影效果的自定义像素着色器。

标签: c# wpf xaml


【解决方案1】:

您使用 DropShadowEffect 走在了正确的轨道上。之所以只在两侧模糊,是因为你的ShadowDepth。设置为0,你就会得到你想要的。

<Border x:Name="ShadowBorder" BorderThickness="1" Width="242" Height="280" Margin="5,5,5,5" Background="#00FFFFFF">
    <Rectangle Fill="White" Width="242" Height="280"/>
    <Border.Effect>
        <DropShadowEffect BlurRadius="10" ShadowDepth="0" Color="LightBlue"/>
    </Border.Effect>
</Border>

这是它的样子:

【讨论】:

  • 为我工作。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 2018-11-27
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多