Na problem okien dialogowych w WPF natknie się prędzej czy później każdy programista próbujący pisać aplikacje zgodne ze wzorcem MVVM. My skupimy się na najczęstszej sytuacji, w której model widoku jest pasywny, zmiany jego stanu w całości zależą od akcji użytkownika. Istotą problemu jest to, że z punktu widzenia programisty często najwygodniejszym miejscem do wywoływania okien dialogowych (np. zadawania z ich użyciem pytań użytkownikowi lub powiadamianie go o zdarzeniach), a miejmy na uwadze, że okna dialogowe ewidentnie przynależą do warstwy widoku, są klasy modelu widoku, a czasem nawet klasy samego modelu. Ulegając pokusie, naruszamy ścisły podział na warstwy, będący jedną z głównych zalet wzorca MVVM.