外发光效果应用于边框

30

如何为边框添加外发光效果?

<Grid Width="200" Height="200">
    <Grid.Background>
        <RadialGradientBrush Center="0.5,0.5" GradientOrigin="0.5,0.5" RadiusX="0.8" RadiusY="0.8">
            <RadialGradientBrush.GradientStops>
                <GradientStop Offset="0" Color="#FF123B5F" />
                <GradientStop Offset="1" Color="#FF001F31" />
            </RadialGradientBrush.GradientStops>
        </RadialGradientBrush>
    </Grid.Background>
    <Border Width="180" Height="180" Margin="10" Background="Transparent"
            BorderBrush="White" BorderThickness="1">
        <Border.BitmapEffect>
            <OuterGlowBitmapEffect GlowColor="White" GlowSize="3" Opacity="1" />
        </Border.BitmapEffect>
    </Border>
</Grid>

我尝试过这个,但它没有起作用。

1个回答

73

BitmapEffects在.NET 4.0中已不再受支持。

来自MSDN

重要提示:在.NET Framework 4或更高版本中,BitmapEffect类已过时。如果您尝试使用BitmapEffect类,则会收到一个过时的异常。替代BitmapEffect类的非过时方案是Effect类。在大多数情况下,Effect类的速度明显更快。

虽然不完全相同,但您可以尝试将ShadowDepth接近于0的DropShadowEffect用作替代。

示例

<Border Width="180" Height="180" Margin="10" Background="Transparent"
        BorderBrush="White" BorderThickness="2" Opacity="1.0">
    <Border.Effect>
        <DropShadowEffect ShadowDepth="0"
                          Color="White"
                          Opacity="1"
                          BlurRadius="5"/>
    </Border.Effect>
</Border>

比较你使用的BitmapEffects和上面的DropShadowEffect。右侧是DropShadowEffect

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接