С помощью следующего кода я могу продемонстрировать, как черная панель с непрозрачностью 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>
Как мне получить только желтый прямоугольник над черным?
В моем реальном приложении вместо прямоугольников есть пользовательские элементы управления. Мне нравится выделять особый элемент управления, покрывая все остальное полуматовой тенью.
Большое спасибо,