簡體   English   中英

如何在WPF中使不透明度變深

[英]How to make opacity darker in wpf

當用戶單擊某個按鈕時,我的主窗口背景顏色為Background="#005075" ,彈出一些小窗口,然后我改變主窗口的不透明度,如Opacity="0.5" ,問題在於它使背景打火機,我該如何在WPF中暗中擺弄?

我做了很多類似的事情。 最好的方法是在Window中有幾個頂級網格並與之一起使用,而不是Window本身。

例如,我會做這樣的事情:

<Window x:Class="WpfApp9.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp9"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <!-- Background grid with 100% opacity -->
        <Grid Background="#005075"/>
        <!-- main grid, which sits on top of the background grid -->
        <Grid x:Name="MainGrid" Background="Transparent" Opacity="0.5">
            <!-- Windows controls go here -->
        </Grid>
    </Grid>
</Window>

不透明度不會使它變暗。 您可以做的是,可以制作某種面板,該面板在整個主窗口中拉伸,並且具有黑色和0.2或類似的不透明度,並且默認情況下主要是隱藏的。 而當您要禁用主窗口時,則使該面板可見。 這應該可以解決您的問題。

如果您在中間添加了一些動畫或類似的東西,您也可以將其用作加載面板。 因此,它將覆蓋您主窗口的所有內容,並且不允許用戶在禁用時與您的主窗口進行交互。

PS不透明度為0.2的黑色面板應放置在主窗口中的所有控件上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM