Как разместить один элемент на другим при помощи Grid

Для того, чтобы отобразить один элемент графического интерфейса над другим, не изменяя размеры и позицию второго в WPF и не прибегая к абсолютному позиционированию при помощи контейнера Canvas, достаточно использовать контейенер Grid, без указания строк и колонок.

Использование шаблонов данных для модальных диалоговых окон

Благодаря шаблонам данных (data templates) в WPF очень удобно реализовывать привязку моделей представления к самим представлениям (паттерн Model-View-ViewModel).