我想知道如何更改WPF窗口背景的不透明度而不影响内部子控件。当我将Window属性'Opacity'更改为0.5时,我得到了一个半透明窗口,但窗口内的图像也继承了0.5不透明度值,所以我怎样才能使窗口不透明?更改背景不透明度而不更改内容不透明度
19
A
回答
30
窗口是一切的父容器,所以在窗口上设置不透明度将影响它包含的所有内容。我认为你想要做的是改变Window.Background
的Opacity
。
启用一个窗口来实现透明度涉及到一些要添加的内容。首先,您需要设置Window.AllowsTransparency = True
并设置Window.WindowStyle = None
。 WindowStyle.None
创建一个没有窗口镶边的最小化,最大化和关闭按钮的窗口,所以你必须在应用程序中自己处理它,并调整窗口大小和移动窗口。完成之后,您可以将Window.Background
设置为具有设置为Opacity
的画笔。
以下代码示例将告诉您如何使窗口始终透明,并将窗口背景的不透明度设置为具有不同的不透明度。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication1.MainWindow"
x:Name="Window"
WindowStyle="None"
AllowsTransparency="True">
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.5"/>
</Window.Background>
<Grid>
<!--Window Content-->
</Grid>
</Window>
如果您只希望窗口中的元素可见,您可以随时将窗口背景设置为透明。
+0
我正在使用样式模板。为了让它适应属性设置器,我将背景色的alpha设置为所需的不透明度级别,并将背景RGB代码复制到背景设置器。 :)完美的作品! – C4u
相关问题
- 1. VB.NET:更改背景不透明度
- 2. 更改不透明度时重绘窗口不透明度
- 3. 在页面宽度上更改背景图像不透明度
- 4. 改变Blogger的背景透明度图片不是透明
- 5. 不透明度使div更不透明
- 6. 段落中的不透明度变化改变了文本的不透明度和背景不透明度
- 7. 如何在动画不透明度时阻止IE更改透明背景?
- 8. 使用jquery连续div背景不透明度更改
- 9. 更改背景图像的不透明度
- 10. 如何更改Control的不透明度?
- 11. 更改图片不透明度
- 12. 更改CCSpriteBatchNode中CCSprite的不透明度
- 13. 更改TreeItem的不透明度
- 14. 如何更改overlaymaptypes的不透明度?
- 15. 使用不透明度更改图片
- 16. 如何更改QTTrack的不透明度
- 17. 独立元素的背景不透明度从它的内容不透明
- 18. DIV透明度不改变
- 19. 不透明的背景,但没有不透明度文本
- 20. Xcode错误?更改阴影不透明度更改背景突出显示
- 21. Google Maps API:更改基础地图的不透明度,但不更改叠加层的不透明度
- 22. 更改div不透明度排除一些div内容 - jQuery
- 23. 调整窗体背景的不透明度不改变
- 24. 更改div的不透明度,但不是其内部
- 25. 背景不透明
- 26. 仅更改外部div的不透明度而不更改其元素
- 27. CSS背景不透明度动画
- 28. CSS不透明度和背景颜色
- 29. CSS不透明度 - 背景颜色
- 30. 如何在XAML中设置背景不透明度和边框不透明度?
只是订阅你是问题,看看这是否可能,我认为这不是,但以防万一。您是否尝试将其设置为“透明”颜色并添加,例如,半透明矩形不会影响对象的其余部分? – NestorArturo