2009-10-30 14 views
9

Sto lavorando su un nuovo progetto NET WPF e saranno molto probabilmente utilizzando il framework PRISM.applicazioni MDI in WPF

Uno dei requisiti che ho per l'applicazione è di avere un'interfaccia utente MDI-type. Ho bisogno di una shell principale con intestazione, piè di pagina e regioni della barra laterale. La principale area di lavoro dell'applicazione deve contenere più schede, con una scheda per ogni "area di lavoro". Queste schede dovrebbero essere agganciabili in modo che possano essere bloccate come o come una finestra indipendente all'interno della finestra principale dell'applicazione.

Le mie domande sono:

  1. Qual è il miglior strumento per questo lavoro? Ho esaminato Infragistics che ha un controllo DockManager che sembra farebbe questo.
  2. È questa buona pratica di avere più finestre mobili liberi all'interno della vostra applicazione?
+0

Quale soluzione hai scelto alla fine? Hai deciso di sbarazzarti di MDI in favore di più SDI? –

+0

https://github.com/ButchersBoy/Dragablz è un'altra, più nuova opzione –

risposta

10
  1. Ci sono molti strumenti di terze parti che lo farà. Infragistics XamDockManager sarà, così come Syncfusion's Docking Manager, e sono sicuro che ci sono altri là fuori.

  2. interfacce MDI non sono realmente considerati più "buono". Sono stati sostituiti nella maggior parte dei programmi utilizzando più finestre SDI. Ad esempio, guarda i prodotti Microsoft, come la suite Office. Sono quasi completamente passati dalle interfacce MDI. Persino Visual Studio è passato alle interfacce a schede.

+0

Sono d'accordo con quello che dici riguardo a Office, il punto che mi è stato fatto (da chi guida i requisiti) è che in Office ecc. può ancora passare a una vista MDI per avere due documenti affiancati se lo si desidera. Grazie per l'input, però, sento quello che stai dicendo – Steve

+1

Guarda Visual Studio: era l'app MDI "perfetta" e ora sono passati a visualizzazioni di documenti a schede, con finestre divise e finestre degli strumenti di ancoraggio (ma non finestre mobili internamente). –

+2

Ma si stanno spostando verso finestre fluttuanti nel 2010. Anche finestre fluttuanti out-of-shell. –

3

Questo è certamente troppo tardi per il post originale, ma voglio aggiungere collegamenti a tre progetti popolari su CodePlex che sono rilevanti:

  • AvalonDock - una biblioteca attracco nello stile di Visual Studio e
  • WpfMdi che è un classico gestore di finestre MDI.
  • Chronos WPF che sembra sgargianti e moderno

Non suona come il classico stile MDI è ciò che è stato chiesto per. AvalonDock consentirà finestre separate side-by-side e finestre a strappo come Visual Studio. È utilizzato in SharpDevelop, quindi è possibile scaricarlo per avere un'idea di come è possibile utilizzare la docking station.

+2

Chronos ufficialmente non è più in sviluppo. WpfMdi sembra essere stato abbandonato. – user316117

0

Si consideri per controllare MDIContainer. Un progetto simile a MDI for WPF, ma ti dà più libertà, dal momento che non ti costringe a implementare la finestra MDIChild, l'interfaccia o altro.

Problemi correlati