Windows phone 7 WP7背景模糊效果

Windows phone 7 WP7背景模糊效果,windows-phone-7,blur,Windows Phone 7,Blur,我需要知道,模糊WindowsPhone7应用程序背景的最佳方法是什么,以将用户的注意力集中在“始终在顶部”的弹出窗口上 我的想法是: 制作一个背景网格的内存屏幕截图(通过将其转换为freezable或其他方式) 添加一个与背景网格重叠但位于弹出窗口下方(带z索引)的图像 我仍然怀疑我是否能够重叠应用程序栏 此时,如果您有解决方案,请告知。只需在页面顶部使用半透明层,而不是模糊 在尝试创建这样的效果之前,您应该隐藏应用程序栏,因为您将无法在其上放置任何内容。为您提供一些提示 不幸的是,Silv

我需要知道,模糊WindowsPhone7应用程序背景的最佳方法是什么,以将用户的注意力集中在“始终在顶部”的弹出窗口上

我的想法是:

  • 制作一个背景网格的内存屏幕截图(通过将其转换为freezable或其他方式)
  • 添加一个与背景网格重叠但位于弹出窗口下方(带z索引)的图像
  • 我仍然怀疑我是否能够重叠应用程序栏


    此时,如果您有解决方案,请告知。

    只需在页面顶部使用半透明层,而不是模糊


    在尝试创建这样的效果之前,您应该隐藏应用程序栏,因为您将无法在其上放置任何内容。

    为您提供一些提示

    不幸的是,Silverlight模糊效果和其他位图效果,因此您必须自己实现模糊。这其实很简单,只需使用一个

    要实现此效果,您可以将应用程序的视觉效果捕获到可写位图中,操纵图像以创建模糊,然后使用弹出窗口将此图像覆盖到应用程序上。在我写的一篇关于弹出文本动画的博文中,我做了类似的事情:

    按如下方式查找您的根目录:

    var rootElement = Application.Current.RootVisual as FrameworkElement;
    
      _backgroundMask = new Rectangle()
      {
        Fill = new SolidColorBrush(Colors.Black),
        Opacity = 0.0,
        Width = rootElement.ActualWidth,
        Height = rootElement.ActualHeight
      };
      _popupCanvas.Children.Add(_backgroundMask);
    
      _targetElementClone = new Image()
      {
        Source = new WriteableBitmap(element, null)
      };
      _popupCanvas.Children.Add(_targetElementClone);
    
    将此UI的副本添加到弹出窗口中,如下所示:

    var rootElement = Application.Current.RootVisual as FrameworkElement;
    
      _backgroundMask = new Rectangle()
      {
        Fill = new SolidColorBrush(Colors.Black),
        Opacity = 0.0,
        Width = rootElement.ActualWidth,
        Height = rootElement.ActualHeight
      };
      _popupCanvas.Children.Add(_backgroundMask);
    
      _targetElementClone = new Image()
      {
        Source = new WriteableBitmap(element, null)
      };
      _popupCanvas.Children.Add(_targetElementClone);
    
    并展示:

    _popup.IsOpen = true;
    
    我会让你去弄清楚如何模糊背景

    另一方面,您将无法覆盖或捕获应用程序栏的视觉效果。在执行此转换之前隐藏它


    最后,模糊背景并不是真正的“地铁”。你确定要这样做吗?

    不,我不想。您建议如何让用户关注弹出窗口?考虑到我有一个基本的“黑色背景”应用程序,让背景上的一切保持原样看起来比模糊更糟糕。在我看来,一个简单的不透明遮罩就可以了。使用我上面给出的代码,但只需用一个不透明度为0.5的黑色矩形填充弹出窗口,您能告诉我如何添加半透明层吗?我应该在窗口上跨哪个控件?@Maxim添加一个
    矩形
    ,并设置
    不透明度