【问题标题】:Outer glow effect to border外发光效果到边框
【发布时间】:2012-06-22 20:44:49
【问题描述】:

如何为边框提供外发光效果?

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

这个我试过了,但是不行

【问题讨论】:

    标签: wpf border glow bitmapeffect


    【解决方案1】:

    .NET 4.0 不再支持BitmapEffects

    来自MSDN

    重要在 .NET Framework 4 或更高版本中,BitmapEffect 类是 过时的。如果你尝试使用 BitmapEffect 类,你会得到一个 过时的异常。 BitmapEffect 的非过时替代品 类是效果类。在大多数情况下,Effect 类是 明显更快。

    这不是一回事,但您可以尝试使用 DropShadowEffect 和接近 0 的 ShadowDepth

    例子

    <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 向右。

    【讨论】:

      最近更新 更多