我想知道如何更改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. 更改jButton透明度/不透明度/ alpha
- 8. 更改背景圖片的不透明度,但不更改背景圖片的內容
- 9. 如何在動畫不透明度時阻止IE更改透明背景?
- 10. 如何更改窗體窗口的不透明度而不更改文本的不透明度
- 11. Javascript - 用時間間隔更改背景顏色不透明度
- 12. 如何在CSS中更改背景顏色的不透明度
- 13. 使用jQuery更改背景不透明度
- 14. 更改背景不透明度保留文字
- 15. 更改背景圖像的不透明度
- 16. 如何更改背景圖片的不透明度?
- 17. WPF AreaSeries:如何更改背景不透明度?
- 18. Matplotlib - 更改用作背景的圖像的不透明度
- 19. D3.js更改背景不透明度與轉換
- 20. 使用jquery連續div背景不透明度更改
- 21. 用css更改背景圖像的不透明度
- 22. 更改不透明度的子div
- 23. 更改文本的不透明度
- 24. 使用setTimeout更改不透明度
- 25. 更改頁面不透明度.click jquery
- 26. 更改TreeItem的不透明度
- 27. 更改CCSpriteBatchNode中CCSprite的不透明度
- 28. 更改圖片不透明度
- 29. javafx更改輸入時不透明度
- 30. 使用不透明度更改圖片
只是訂閱你是問題,看看這是否可能,我認爲這不是,但以防萬一。您是否嘗試將其設置爲「透明」顏色並添加,例如,半透明矩形不會影響對象的其餘部分? – NestorArturo