将模糊添加到UWP ImageBrush

将模糊添加到UWP ImageBrush,uwp,windows-community-toolkit,Uwp,Windows Community Toolkit,我正在尝试在我的UWP应用程序中为背景图像添加模糊。 我可以使用这段代码将蓝色添加到图像中,而不会出现任何问题(我实际上是在运行时将其应用于从web动态加载的图像) 但是,我想将模糊添加到背景中的图像中,特别是添加到RelativePanel的背景中。然而,RelativePanel的背景仅在其内容中包含ImageBrush,每当我尝试将社区工具包中的相同行为添加到ImageBrush时,我都会收到一个错误: 无法将类型为“Microsoft.Toolkit.Uwp.UI.Animatio

我正在尝试在我的UWP应用程序中为背景图像添加模糊。 我可以使用这段代码将蓝色添加到图像中,而不会出现任何问题(我实际上是在运行时将其应用于从web动态加载的图像)


但是,我想将模糊添加到背景中的图像中,特别是添加到RelativePanel的背景中。然而,RelativePanel的背景仅在其内容中包含ImageBrush,每当我尝试将社区工具包中的相同行为添加到ImageBrush时,我都会收到一个错误:

无法将类型为“Microsoft.Toolkit.Uwp.UI.Animations.Behaviors.Blur”的实例添加到类型为“Microsoft.Xaml.Interactivity.BehaviorCollection”的集合中

有没有办法解决这个问题,仍然使用工具箱?

通过增加或减少像素大小,选择性地模糊XAML元素。但是
ImageBrush
不是
XAML元素
。所以我认为你不能用它来给imagebrush添加模糊

如果要向uwp
Imagebrush
添加模糊,可以使用。高斯模糊效果可以用来创造一个非常酷的模糊效果,可以给我们在你的应用程序磨砂玻璃的外观

private async void AddBrushToPanel(图像画笔,面板)
{
var file=wait-StorageFile.getfilefromApplicationUrisync(新Uri(“ms”)-appx:///Assets/image.jpg"));
使用(var stream=await file.OpenAsync(FileAccessMode.Read))
{
var设备=新的画布设备();
var bitmap=await CanvasBitmap.LoadAsync(设备、流);
var renderer=新的CanvasRenderTarget(设备,
bitmap.SizeInPixels.Width,
bitmap.SizeInPixels.Height,bitmap.Dpi);
使用(var ds=renderer.CreateDrawingSession())
{
var blur=新的高斯模糊效应();
blur.BlurAmount=5.0f;
blur.Source=位图;
ds.DrawImage(模糊);
}
stream.Seek(0);
wait renderer.SaveAsync(stream,CanvasBitmapFileFormat.Jpeg);
BitmapImage=新的BitmapImage();
image.SetSource(流);
brush.ImageSource=图像;
panel.Background=画笔;
}
}
通过增加或减小像素大小,选择性地模糊XAML元素。但是
ImageBrush
不是
XAML元素
。所以我认为你不能用它来给imagebrush添加模糊

如果要向uwp
Imagebrush
添加模糊,可以使用。高斯模糊效果可以用来创造一个非常酷的模糊效果,可以给我们在你的应用程序磨砂玻璃的外观

private async void AddBrushToPanel(图像画笔,面板)
{
var file=wait-StorageFile.getfilefromApplicationUrisync(新Uri(“ms”)-appx:///Assets/image.jpg"));
使用(var stream=await file.OpenAsync(FileAccessMode.Read))
{
var设备=新的画布设备();
var bitmap=await CanvasBitmap.LoadAsync(设备、流);
var renderer=新的CanvasRenderTarget(设备,
bitmap.SizeInPixels.Width,
bitmap.SizeInPixels.Height,bitmap.Dpi);
使用(var ds=renderer.CreateDrawingSession())
{
var blur=新的高斯模糊效应();
blur.BlurAmount=5.0f;
blur.Source=位图;
ds.DrawImage(模糊);
}
stream.Seek(0);
wait renderer.SaveAsync(stream,CanvasBitmapFileFormat.Jpeg);
BitmapImage=新的BitmapImage();
image.SetSource(流);
brush.ImageSource=图像;
panel.Background=画笔;
}
}

您的问题是否已解决?你还有其他的更新吗?没有,我必须更新应用程序中更重要的元素,所以我没有时间重新讨论这个问题。你的问题解决了吗?你还有其他的更新吗?没有,我不得不继续应用程序中更重要的元素,所以我没有时间再看一遍
<Image Source="Assets/Photos/BisonBadlandsChillin.png"
       Width="100"
       Height="100">
       <interactivity:Interaction.Behaviors>
           <behaviors:Blur x:Name="blurry"
                             Value="10"
                             Duration="100"
                             Delay="0"
                             AutomaticallyStart="True" />
       </interactivity:Interaction.Behaviors>