我正在尝试在WPF中创建模糊效果,但我想模糊控件后面的内容(例如网格),我不打算模糊网格的内容。
我想做这样的事情。
答案 0 :(得分:5)
如果你正在寻找这样的东西:
答案是使用BitmapEffect
:
<Image Source="http://www.pingminghealth.com/wp-content/uploads/2010/12/cherries.jpg" Stretch="UniformToFill">
<Image.BitmapEffect>
<BlurBitmapEffect Radius="20" />
</Image.BitmapEffect>
</Image>
您可以在msdn上找到有关它的教程:How to Apply a Blur Effect to a Visual。
答案 1 :(得分:1)
以防万一,有人还在2018年寻找解决方案,类似这样的方法对我有用:BlurryControls.BlurryUserControl.cs
答案 2 :(得分:-2)
<Rectangle>
<Rectangle.Effect>
<BlurEffect Radius="{DynamicResource BlurRadius}"/>
</Rectangle.Effect>
<Rectangle.Fill>
<VisualBrush
ViewboxUnits="Absolute"
Viewbox="{Binding RenderTransform.Children[3],
Converter={StaticResource TranslateTransformToRectViewboxVisualBrushConverter},
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}},
UpdateSourceTrigger=PropertyChanged}"
AlignmentX="Left" AlignmentY="Top"
Visual="{Binding ElementName=BackgroundContainer}" Stretch="None">
<VisualBrush.Transform>
<TranslateTransform X="0" />
</VisualBrush.Transform>
</VisualBrush>
</Rectangle.Fill>
</Rectangle>