任何人都可以告诉我为什么/没有/外部效果效果在我的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>
Run Code Online (Sandbox Code Playgroud)
和结果图像:
http://img408.imageshack.us/img408/6213/1c1761f31ce6408d948e266.png
边缘周围没有光晕.不仅光晕没有出现在矩形上,而且我添加到窗口的任何其他控件也不能接受发光.
编辑:它在.Net 4.0
Fre*_*lad 10
.NET 4.0不再支持BitmapEffects.
来自MSDN
重要说明在.NET Framework 4或更高版本中,BitmapEffect类已过时.如果您尝试使用BitmapEffect类,您将获得一个过时的异常.BitmapEffect类的非过时替代方法是Effect类.在大多数情况下,Effect类明显更快.
没有一个非常好的替代品,但你可以尝试使用DropShadowEffecta ShadowDepth为0.示例
<Rectangle Margin="12" Name="rectangle1" Fill="#FFB75050">
<Rectangle.Effect>
<DropShadowEffect ShadowDepth="0"
Color="Black"
Opacity="1"
BlurRadius="12"/>
</Rectangle.Effect>
</Rectangle>
Run Code Online (Sandbox Code Playgroud)
如果我理解你的评论正确,
在代码中添加效果
DropShadowEffect dropShadowEffect = new DropShadowEffect();
dropShadowEffect.ShadowDepth = 0;
dropShadowEffect.Color = Colors.Black;
dropShadowEffect.Opacity = 1;
dropShadowEffect.BlurRadius = 12;
rectangle1.Effect = dropShadowEffect;
Run Code Online (Sandbox Code Playgroud)
修改后面代码中的效果
DropShadowEffect dropShadowEffect = rectangle1.Effect as DropShadowEffect;
dropShadowEffect.BlurRadius = 24;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5803 次 |
| 最近记录: |