2009-08-17 15 views
13

C'è un modo per ospitare una finestra WPF all'interno di un'altra finestra WPF. Ho un paio di forme alquanto complesse. Ma ora per semplificare le cose sto cercando di unirli a pochi di essi come pagine di tabulazione all'interno di un modulo 'Dashboard'.Avere una finestra wpf all'interno di un'altra finestra wpf

Si prega di notare che non sto cercando di ospitare un Windows Form, ma un'altra finestra WPF

risposta

11

Se si desidera tabpage, perché non utilizzare un TabControl con UserControls all'interno? Se hai bisogno di trasformare una di queste schede in una finestra mobile, basta mettere UserControl in una nuova finestra ...

+0

Sto già usando un TabControl. Ma invece di ospitare un UserControl, mi piacerebbe ospitare una finestra già esistente. È possibile? –

+0

no non lo è ... devi modificare la finestra su un UserControl –

3

Posso rispondere a questa domanda con un'altra domanda; perché non dovresti crearli come controlli piuttosto che come altre finestre WPF, che vuoi ospitare nella finestra principale di WPF?

+2

Direi che è perché vuole sfruttare il comportamento predefinito della finestra (barra del titolo per spostarlo, chiudere/min/max pulsanti ...) –

+0

Non proprio Thomas. Non mi importa di avere nessuna di quelle cose. È possibile convertire una finestra esistente in un controllo utente? Quello che sto cercando di fare è di risparmiare tempo e utilizzare Windows già esistenti che sono già in esecuzione (e sono stati testati in produzione) all'interno di una nuova finestra "Principale". Ciascuna finestra esistente diventerà semplicemente una scheda all'interno di questa finestra "Principale" invece di essere una finestra separata. –

0

Penso che quello che stai chiedendo sia MDI, Multiple Document Interface. Qualcosa come this potrebbe aiutare.

Si noti, tuttavia, che il paradigma MDI è in gran parte evitato in questi giorni. Di solito ci sono modi migliori per ottenere la stessa funzionalità.

+0

Cool ... tuttavia il chrome per le finestre figlio è abbastanza brutto;) –

+0

MDI is sooo 1995;) – Thorsten79

0

Penso che si desideri ospitare i contenuti di WPF Window1.xaml (pagina1.xaml) all'interno di un'altra finestra WPF.

Bene ... è possibile utilizzare la navigazione. Invece di eseguire il contenuto window1.xaml all'interno della scheda, puoi lavorare con i tuoi dati all'interno di Navigazione. La navigazione può essere eseguita all'interno dell'applicazione Windows WPF. Basta disegnare il modulo/interfaccia utente in page1.xaml.

un altro..MDI vecchio e arrugginito. Al giorno d'oggi vogliamo liberarci della finestra superiore.

1

un po 'in ritardo su questo, ma credo che con WindowsForms interoperabilità si può mettere in WPF un host di controllo WinForms e in che ospitano mettere un controllo WinForms che ospita la maniglia di una finestra WPF

+0

> ospita l'handle di una finestra WPF Qualche elaborazione? – Edza

+0

puoi fare i controlli di WinForms da quello che ricordo che avvolge un handle di finestra. Quindi, dal momento che è possibile ottenere l'handle della finestra di una finestra WPF, è possibile includerlo con un controllo WinForms. Quindi dato che WPF può ospitare i controlli WinForms tramite il livello di interoperabilità che ha (viceversa è disponibile anche da quello che ricordo), potresti mettere quell'involucro WinForms di quella finestra WPF all'interno di un'altra finestra WPF –

+0

btw, li farei ereditare da UserControl invece che è più versatile (ad esempio potrebbe avere Windows che ospita UserControl e potrebbe anche avere un altro layout con una vista a schede che ospita in ciascuna scheda uno di questi UserControls) –

Problemi correlati