2009-10-30 11 views
9

Pracuję nad nowym projektem .NET WPF i najprawdopodobniej wykorzystam framework PRISM.Aplikacje MDI w WPF

Jednym z wymagań, które mam dla aplikacji, jest posiadanie interfejsu użytkownika typu MDI. Potrzebuję głównej powłoki z regionami nagłówka, stopki i paska bocznego. Główna operacja aplikacji musi zawierać wiele zakładek, z jedną zakładką dla każdego "workarea". Te zakładki powinny być dokowalne, aby można je było przypinać lub w dowolny sposób przypominać okno niezależne w głównym oknie aplikacji.

Moje pytania są następujące:

  1. Co jest najlepszym narzędziem do tego zadania? Przyjrzałem się programowi Infragistics, który ma kontrolkę DockManager, która wygląda tak, jakby to zrobiła.
  2. Czy dobrą praktyką jest posiadanie wielu okien swobodnych w aplikacji?
+0

Jakie rozwiązanie wybrałeś w końcu? Czy zdecydowałeś się pozbyć MDI na korzyść wielu SDI? –

+0

https://github.com/ButchersBoy/Dragablz to kolejna, nowsza opcja –

Odpowiedz

10
  1. Istnieje wiele narzędzi firm trzecich, które to zrobić. Infragistics XamDockManager będzie, tak samo jak Syncfusion's Docking Manager, i jestem pewien, że są tam jeszcze inni.

  2. Interfejsy MDI nie są już tak naprawdę uważane za "dobre". Zostały one zastąpione w większości programów przy użyciu wielu okien SDI. Na przykład spójrz na produkty firmy Microsoft, takie jak pakiet Office. Zostały prawie całkowicie zmienione z interfejsów MDI. Nawet Visual Studio przeszło na interfejsy z kartami.

+0

Zgadzam się z tym, co mówisz w odniesieniu do Urzędu, punkt, który został mi złożony (przez osoby kierujące wymaganiami) jest to, że w biurze itp. nadal można przejść do widoku MDI, aby mieć dwa dokumenty obok siebie, jeśli chcesz. Dziękuję za wejście, ale słyszę, co mówisz. – Steve

+1

Zobacz wizualne studio - kiedyś była to "idealna" aplikacja MDI, a teraz zamiast tego zmieniły się widoki z kartami z podzielonymi oknami i oknami narzędzi do dokowania (ale nie przestawne okna wewnętrznie). –

+2

Ale przenoszą się one do ruchomych okien w 2010 roku. Nawet pływające okna poza powłoką. –

3

Jest to z pewnością zbyt późno w stosunku do pierwszego postu, ale chcę dodać linki do trzech popularnych projektów na CodePlex, które są istotne:

  • AvalonDock - biblioteka-dokującą w stylu Visual Studio i
  • WpfMdi który jest klasycznym menedżerem okien MDI.
  • Chronos WPF który wygląda odlotowy i nowoczesny

To nie brzmi jak klasyczna MDI stylu jest to, co prosiliśmy. AvalonDock umożliwi oddzielne zestawy tabulacji obok siebie i odrywane okna, takie jak Visual Studio. Jest on używany w SharpDevelop, więc można go pobrać, aby dowiedzieć się, w jaki sposób można wykorzystać bibliotekę dokowania.

+2

Chronos oficjalnie nie jest już rozwijany. WpfMdi wydaje się być porzucony. – user316117

0

Zastanów się, aby sprawdzić MDIContainer. Podobny projekt niż MDI for WPF, ale daje więcej swobody, ponieważ nie zmusza Cię do wdrożenia okna MDIChild, interfejsu lub czegokolwiek.