Как наложить элемент управления на окно?

прямо сейчас у меня есть обычное окно с кучей элементов управления.

когда пользователь нажимает определенную кнопку, Я хочу, чтобы затемнить все окна, а затем отобразить всплывающее окно поверх него. Не истинное диалоговое окно, просто что-то, что находится внутри окна.

Итак, это моя теория...

  1. каждый элемент управления находится на уровне 0.
  2. существует прямоугольник того же размера, что и форма в слое 1. Это 50% прозрачности.
  3. мой всплывающее окно загружается в слой 2.
  4. нажатие в любом месте прямоугольника будет делать то же самое, что и нажатие закрыть на всплывающем окне.

это возможно?

1 ответов


это вполне возможно.

поместите весь пользовательский интерфейс в любую панель внутри <Grid>.

затем, в той же сетке, поставить <Rectangle Opacity=".5" Visibility="Collapsed" /> для наложения и центрированной панели для всплывающего окна.

обработайте событие щелчка прямоугольника и скройте всплывающее окно.