我想知道如何更改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