непрозрачный элемент в прозрачном в WPF

В моем приложении я хотел бы иметь прозрачное окно, но внизу полностью непрозрачные дочерние элементы управления. Однако WPF делает всех детей прозрачными.

Смотрите XAML ниже. Сетка полупрозрачная на 50%, как и ожидалось, но прямоугольник в ней прозрачный, а не непрозрачный, даже если opacity = "1". Есть ли способ добиться этого?

<Window x:Class="WpfApplication10.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" AllowsTransparency="True" Height="300" ResizeMode="NoResize" Width="300" WindowStyle="None" Background="Transparent"  >

    <Border   BorderBrush="black"  BorderThickness="7" CornerRadius="10">
        <Grid Background="Red" Opacity="0.5"     >

        <Rectangle Width="100" Height="100" Fill="white" Opacity="1"/>

    </Grid>
    </Border></Window>

спасибо челлик

Ответы на вопрос(1)

Решение Вопроса

по которой ваш прямоугольник не является полностью непрозрачным, заключается в том, что ваш контейнер (сетка) имеет непрозрачность 0,5 и непрозрачность наследуется дочерним объектам.

Вместо этого попробуйте изменить фоновую кисть сетки на что-то полупрозрачное, например:

<Grid Background="#66ff0000">

Это должно дать вам полупрозрачную сетку и полностью непрозрачный прямоугольник.

 micahtan12 нояб. 2010 г., 01:02
Пока непрозрачность в сетке не указана, она также должна работать со 100% красным прямоугольником. Обратите внимание, что изменение относится к сетке, а не к тегу Rectangle.
 Nam G VU04 нояб. 2010 г., 15:59
Прямоугольник полностью непрозрачен, потому что цветwhite, Например, если цвет изменился на красный, красный не имеет 100% непрозрачности красного. У вас есть решение, чтобы получить 100% красный прямоугольник?
 ariso29 окт. 2009 г., 14:48
Спасибо, этот ответ действительно работает!

Ваш ответ на вопрос