这是我的代码:
<Style x:Key="BackgroundStyle" TargetType="{x:Type Window}">
<Setter Property="Background">
<Setter.Value>
<VisualBrush Viewbox="0, 0,1280,1024" ViewboxUnits="Absolute" >
<VisualBrush.Visual>
<Image Source="Images\myImage.png">
<Image.Effect>
<BlurEffect Radius="20"/>
</Image.Effect>
</Image>
</VisualBrush.Visual>
</VisualBrush>
</Setter.Value>
</Setter>
</Style>
我希望具有此样式的窗口将myImage.png图像作为背景,这将是模糊的,在该图像上应该有一层纯白色,其不透明度为0.8,代码为I如上所述,图像设置为背景,模糊,但我不知道如何在图像上设置白色。
看起来应该是这样的:
答案 0 :(得分:2)
只需将具有适当不透明度的白色矩形添加到VisualBrush的Visual:
<VisualBrush Viewbox="0,0,1280,1024" ViewboxUnits="Absolute" >
<VisualBrush.Visual>
<Grid Width="1280" Height="1024">
<Image Source="Images\myImage.png">
<Image.Effect>
<BlurEffect Radius="20"/>
</Image.Effect>
</Image>
<Rectangle Fill="White" Opacity="0.8"/>
</Grid>
</VisualBrush.Visual>
</VisualBrush>
通过设置网格的ClipToBounds
属性,您还可以摆脱Viewbox
设置:
<VisualBrush>
<VisualBrush.Visual>
<Grid Width="1280" Height="1024" ClipToBounds="True">
<Image Source="Images\myImage.png">
<Image.Effect>
<BlurEffect Radius="20"/>
</Image.Effect>
</Image>
<Rectangle Fill="White" Opacity="0.8"/>
</Grid>
</VisualBrush.Visual>
</VisualBrush>