Как добавить полупрозрачный оттенок над элементами в WPF?

Я хотел бы добавить полупрозрачный цвет над содержимым окна WPF (чтобы указать состояние окна). В настоящее время я использую UserControl, который заполняет окно, и я изменяю цвет фона и видимость по мере необходимости.

проблема с этим методом заключается в том, что когда UserControl виден, я не могу щелкнуть какие-либо элементы управления (кнопки, флажки) в окне позади UserControl. Думаю, мне нужно сделать UserControl прозрачным для кликов. Есть это возможно, или есть лучший способ добавить цвет над окном?

2 ответов


вы можете установить IsHitTestVisible to False на вашем маскирующем элементе.

<Grid>
   <Button>Background Button</Button>
   <Rectangle Fill="Blue" Opacity="0.25" IsHitTestVisible="False"/>
</Grid>

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


существует свойство IsHitTestVisible.