С помощью следующего кода я могу продемонстрировать, как черная панель с непрозрачностью 50% находится поверх каждого прямоугольника:
<Grid>
<Rectangle Fill="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Opacity="0.5" Canvas.ZIndex="1"/>
<Rectangle Fill="Red" Width="200" Height="200" Canvas.ZIndex="0"/>
<Grid>
<Rectangle Fill="Blue" Width="100" Height="100" Canvas.ZIndex="0"/>
<Rectangle Fill="Yellow" Width="50" Height="50" Canvas.ZIndex="1"/>
</Grid>
</Grid>
Это выглядит так:
Я хотел бы иметь желтый прямоугольник над черной панелью, но это кажется невозможным.
Я могу добиться чего-то близкого, установив ZIndex сетки, содержащей синий и желтый прямоугольники, на «1». Но это также подняло бы синий прямоугольник над черным, и это проблема.
<Grid>
<Rectangle Fill="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Opacity="0.5" Canvas.ZIndex="1"/>
<Rectangle Fill="Red" Width="200" Height="200" Canvas.ZIndex="0"/>
<Grid Canvas.ZIndex="1">
<Rectangle Fill="Blue" Width="100" Height="100" Canvas.ZIndex="0"/>
<Rectangle Fill="Yellow" Width="50" Height="50" Canvas.ZIndex="1"/>
</Grid>
</Grid>
Как получить только желтый прямоугольник над черным? В моем реальном приложении у меня есть пользовательские элементы управления вместо прямоугольников. Мне нравится выделять определенный элемент управления, покрывая все остальное получерным оттенком.
Огромное спасибо,