Вы можете поместить панель (Сетка) поверх всего содержимого в вашем окне.
Для этого необходимо установить фон, но он может быть непрозрачным, если вы все еще хотите видеть содержимое окна.
Сделать это видимым только тогда, когда отображается всплывающее окно, а в противном случае свернуть.
Убедитесь, что вы установили фокус на всплывающее окно, когда оно отображается.
.
Имейте в виду.
Всплывающие окна - это отдельные окна.
Они предназначены для краткого отображения и имеют ряд потенциальных недостатков, если вы показываете их в течение более длительных периодов. Например, другие приложения могут появляться под ними, и они не перемещаются со своим «родительским» окном / элементом управления.
В зависимости от ваших конкретных требований модальное окно может оказаться проще и лучше подойдет.
Просто создайте окно и используйте
PopupWindow newWindow = new PopupWindow();
newWindow.ShowDialog();
Где PopupWindow - это любое старое окно, стилизованное под всплывающее окно.
Это гарантирует, что пользователь не сможет каким-либо образом взаимодействовать с любым другим окном в вашем приложении.
.
Еще одна возможность - показать ваш «всплывающий» контент в виде сетки, которая появляется поверх всего внутри вашего главного окна.
Вот так работает редактирование данных:
https://gallery.technet.microsoft.com/scriptcenter/WPF-Entity-Framework-MVVM-78cdc204
Плюс или минус этого подхода в том, что он в одном окне.
--- Брайан Кресс ---