Temat: MDI w WPF
Czy stosujecie coś w zamian?
Nie jestem do końca od okienek, ale można do tego webowo podejść czyli wrzucasz Frame i w tym frame jakiś Page. W momencie, kiedy użytkownik chce zmienić dokument, na którym pracuje - czyli obiekt z MODELU - to podmieniasz DataContext na aktualnie wyświetlanym Page. Samo Page jako VIEW pozostaje bez zmian.
Oczywiście trzeba od początku stosować się do wariacji MVC którą M$ zastosował w WPF czyli Model-View-ViewModel. Całą prezentację na Page należy powiązać poprzez Bindingi do odpowiedniej klasy z modelu.
Natomiast ogólnie widzę, że przerabiasz WPF i dobrze:) Na wstępie możesz zapoznać się z takim dokumentem:
WPF for those who know Windows Forms
czemu Microsoft wyciął technologię MDI w aplikacjach WPF?
Ważne jest, abyś nie traktował WPFa jako tylko następcy WinForm. Owszem, WPF rysuje kontrolki poprzez milcore/DirectX z pominięciem user32.dll, ale dla nas programistów najważniejsze jest to, że zmieniła się koncepcja tworzenia UI. W WinFormach wszystko robiło się
imperatywnie czyli w kodzie CS (my lub VS - tak czy inaczej za tym stał kompilowalny kod). W WPFie my
deklarujemy jak ma wyglądać UI i silnik WPFa (PresentationHost.exe) nam go renderuje w
runtimie! Filozofia jest taka, abyśmy zadeklarowali jak ma widok wyglądać w XAMLu i przy użyciu Bindingów połączyli go z modelem. Idealnie kodu C# w warstwie prezentacji powinno być bardzo mało, najlepiej wyłącznie w miejscach do tego wyznaczonych (Convertery, Validatory, INotifyPropertyChanged). A XAML najlepiej produkować w Expression Blendzie.