Непрозрачный элемент в прозрачном в WPF
В моем приложении я хотел бы иметь прозрачное окно, но полностью непрозрачные дочерние элементы управления под ним. Однако WPF делает всех детей прозрачными.
См. XAML ниже. Сетка полупрозрачная на 50%, как и ожидалось, но прямоугольник в ней прозрачен, не непрозрачен даже непрозрачность мысли = "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>
спасибо,
cellik
Ответы
Ответ 1
Причина, по которой ваш прямоугольник не является полностью непрозрачным, заключается в том, что ваш контейнер (сетка) имеет непрозрачность .5, а непрозрачность наследуется дочерними объектами.
Вместо этого попробуйте изменить фоновый кисть сетки на нечто полупрозрачное, например:
<Grid Background="#66ff0000">
Это должно дать вам полупрозрачную сетку и полностью непрозрачный прямоугольник.