【问题标题】:Translucent background like iOS/OS X and Windows 10 startmenu in WPF appsWPF 应用程序中的 iOS/OS X 和 Windows 10 开始菜单等半透明背景
【发布时间】:2015-08-05 10:50:57
【问题描述】:

iOS、MAC OS X 和现在的 Windows 10 支持半透明背景。 Windows 10 中是否有记录在案的 API 可以在 WPF 窗口中扩展此效果?我想要的是我的应用程序窗口的一部分是半透明的,但我放在那里的内容应该仍然清晰可见。见example

请注意,这与更改控件上的 Opacity 属性不同,我想要的是透明度加上背景中原色热点顶部的模糊。

【问题讨论】:

  • 我认为您已经看到了不同的不透明度解决方案,因此您缺少模糊。这个呢:msdn.microsoft.com/en-us/library/vstudio/ms742795(v=vs.90).aspx?
  • @JensHorstmann 感谢您的评论。这里有几个问题,模糊是一致地散布的,并且不知道背景中的颜色。如果我将此效果添加到窗口,窗口内的所有内容也会变得模糊!

标签: c# wpf translucency


【解决方案1】:

我之前在顶部出现对话框时背景变暗和模糊。

我这样做的方法是使用具有模糊效果的 VisualBrush 来创建模糊的视觉效果(我正在模糊一个在对话框出现之前未模糊的 UserControl),然后我将放置一个黑色背景并降低不透明度的 Canvas顶部使其变暗。

<VisualBrush>
    <VisualBrush.Visual>
        <Grid ClipToBounds="True">
            <Image Source="Images\myImage.png">
                <Image.Effect>
                    <BlurEffect Radius="20"/>
                </Image.Effect>
            </Image>
        </Grid>
    </VisualBrush.Visual>
</VisualBrush>

我的代码并没有准确描述你想要达到的效果,但是使用带有模糊效果的 VisualBrush 的技术是关键。

附:我认为这个 iOS 版本看起来很糟糕,我怀疑他们的解决方案有任何透明度,他们可能只是显示了一个模糊的图像。

【讨论】:

  • 这可能适用于应用内的叠加层。我需要的是主窗口的那部分具有半透明效果(有点像 VISTA 中的 AERO),而其顶部的内容仍然清晰可见。
  • 是的,所以在 VisualBrush 中使用您想要模糊的部分,在 Canvas/Grid 的背景上使用画笔创建模糊效果,然后您可以将清晰的内容放在顶部模糊控制....
猜你喜欢
  • 2015-11-12
  • 1970-01-01
  • 2021-08-08
  • 2012-04-24
  • 1970-01-01
  • 2015-02-06
  • 2017-06-05
  • 2011-06-08
  • 1970-01-01
相关资源
最近更新 更多