C# WPF中的OuterGlow效果不适用于分层窗口?

C# WPF中的OuterGlow效果不适用于分层窗口?,c#,wpf,effects,C#,Wpf,Effects,有人能告诉我为什么/no/outerglow效果在我的WPF窗口上工作吗?下面是一个代码示例: <Window x:Class="SocialShock_WPF_Client.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Ti

有人能告诉我为什么/no/outerglow效果在我的WPF窗口上工作吗?下面是一个代码示例:

<Window x:Class="SocialShock_WPF_Client.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525"
        AllowsTransparency="True" 
        WindowStyle='None' 
        Background="Transparent" 
        Loaded="Window_Loaded">
    <Grid>
        <Rectangle Margin="12" Name="rectangle1" Fill="#FFB75050">
            <Rectangle.BitmapEffect>
                <OuterGlowBitmapEffect GlowColor="Black" GlowSize="20" />
            </Rectangle.BitmapEffect>
        </Rectangle>
    </Grid>
</Window>

以及生成的图像:

边缘周围没有辉光。 不仅光晕不会出现在矩形上,而且我添加到窗口中的任何其他控件也不能接受光晕


编辑:其在.Net 4.0中的功能

BitmapEffects在.Net 4.0中不再受支持

在.NET Framework 4或 稍后,将创建BitmapEffect类 过时的。如果您尝试使用 BitmapEffect类,您将获得 过时的例外。不过时的 BitmapEffect类的替代方案 是特效类。大多数 在不同的情况下,效果是不同的 速度明显加快

没有真正好的替代方法,但您可以尝试使用
DropShadowEffect
ShadowDepth
为0。范例

<Rectangle Margin="12" Name="rectangle1" Fill="#FFB75050">
    <Rectangle.Effect>
        <DropShadowEffect ShadowDepth="0"
                          Color="Black"
                          Opacity="1"
                          BlurRadius="12"/>
    </Rectangle.Effect>
</Rectangle>
修改代码隐藏中的效果

DropShadowEffect dropShadowEffect = new DropShadowEffect();
dropShadowEffect.ShadowDepth = 0;
dropShadowEffect.Color = Colors.Black;
dropShadowEffect.Opacity = 1;
dropShadowEffect.BlurRadius = 12;
rectangle1.Effect = dropShadowEffect;
DropShadowEffect dropShadowEffect = rectangle1.Effect as DropShadowEffect;
dropShadowEffect.BlurRadius = 24;

您使用的是哪个版本的.NET framework?BitmapEffects已被弃用,因为.NET 4.0BitmapEffects在.NET 4中不起作用?那么我该如何在.net 4中做到这一点呢?我能看看你要发布什么吗?@Tommy:当然,我没有保存它,但我可以重新创建它,这样可以在不降低效果可见性的情况下使矩形透明?@Tommy:你可以更改
矩形
填充
的alpha值,就像
我尝试过的那样-出于某种原因,它似乎也影响了.effect属性-将测试更多。