2010-12-28 15 views
6

To pytanie zostało już wcześniej opublikowane, ale nie mogę znaleźć dobrej odpowiedzi.WPF MDI dzieci

Chcę dzieci MDI w mojej aplikacji WPF. I chcę, aby te dzieci były w pełni zgodne z WPF.

.Net WPF nie ma już dzieci MDI (okna w głównym oknie). Niektórzy mówią, że to dlatego, że projekt jest przestarzały, a aplikacje GUI nie powinny być zaprojektowane w ten sposób. Te osoby mogą powstrzymać się od odpowiedzi na ten post. Wiem, czego potrzebuję. :)

Jakie (najlepiej bezpłatne) alternatywy są dla MDF WPF? Czy będą współpracować z MVVM?

EDYCJA: LUDZIE - nie głosujcie w górę na komentarze, które mówią "MDI IS NOT GOOD". Specjalnie poprosiłem ludzi, aby tego unikali. Pytam o okna MDI, nie należy mówić, aby nie używać okien MDI.

+0

Co jest nie tak z odpowiedziami na pytania, które widzieliście wcześniej? Jeśli nie powiesz nam, dlaczego te rozwiązania nie będą dla ciebie skuteczne, ludzie będą zamieszczać je ponownie. Na przykład: http://wpfmdi.codeplex.com/ –

+0

Nie pamiętam, co było z nim nie tak - ale masz rację, powinienem być bardziej konkretny. Wrócę do tego, gdy tylko znów będę "w kodzie" (jakiś czas w przyszłym roku). –

+0

Właśnie wypróbowałem światło MVVM z WPF-MDI. Łączę 'Polecenia' w menu i przycisk w MDI podrzędnym (kontrola użytkownika). Działa dobrze. –

Odpowiedz

3

Here znajdziesz to, czego szukasz.

EDYCJA: Właśnie zobaczyłem, jak zadałeś to pytanie. Sądzę więc, że już o tym wiesz.

3

Rozumiem, że nie chcesz słyszeć, ale MDI w zasadzie na celu powielać metaforę pulpitu wewnątrz głównego okna aplikacji, i to było trochę mylące dla użytkowników końcowych, ponieważ uczestniczy kilka poziomów zarządzania oknem:

Tech: teraz kliknij na przycisk Maximize aktywnego okna wewnątrz innego okna właśnie przywrócony do normalnych rozmiarów i wszystko powinno być w porządku.

Klient: Co?

Tab-based interfaces są ogólnie uważane za lepszą alternatywę dla MDI. Możesz użyć klasy TabControl i przeczytać Josh Smith's MVVM article on MSDN Magazine, która demonstruje sposób obsługi widoków w TabItems.

+2

Nie zgadzam się, ale nie zgadzam się. Są przypadki, w których chcemy MDI. Powiedzmy na przykład klon mIRC, w którym wszyscy oczekują zachowania okna MDI i chcą obserwować kilka kanałów jednocześnie. Nie możemy tego pominąć z powodu kilku złych zastosowań. –

+0

@Tedd, Zgadzam się, że MDI nadal ma swoje zastosowania, ale ponieważ WPF nie obsługuje tej metafory po wyjęciu z pudełka, może być trudno znaleźć emulowane rozwiązanie, które będzie dobrze działało z MVVM ... –

+0

Całkowicie się nie zgadzam, MDI jest bardzo przydatny w utrzymywaniu kontroli nad wieloma systemami podrzędnymi. Wystarczy spojrzeć na koszmar, który jest Photoshop CC - spróbuj Alt-tabbing do innej aplikacji. Aplikacje z kartami są OK na coś, ale straszne dla innych. MDI powinno być traktowane jak inne narzędzie w pudełku, a nie znienawidzone ze względu na modę. –

Powiązane problemy