2009-08-17 29 views
13

¿Hay alguna manera de alojar una ventana WPF dentro de otra ventana WPF? Tengo un par de formas algo complejas en su lugar. Pero ahora, para simplificar las cosas, intento fusionar algunas de ellas como tabulaciones dentro de un formulario de 'Tablero'.Tener una ventana wpf dentro de otra ventana wpf

Tenga en cuenta que no estoy tratando de acoger un formulario Windows, pero otra ventana WPF

Respuesta

11

Si desea tabpages, ¿por qué no utilizar un TabControl con UserControls adentro? Si necesita transformar una de estas pestañas en una ventana flotante, simplemente coloque el UserControl en una nueva ventana ...

+0

Ya estoy usando un TabControl. Pero en lugar de alojar un UserControl, me gustaría alojar una ventana ya existente. ¿Es eso posible? –

+0

no, no es ... tiene que cambiar su ventana a UserControl –

3

¿Puedo responder a esta pregunta con otra pregunta; ¿Por qué no los crearías como controles en lugar de otras ventanas de WPF, que deseas alojar en la ventana principal de WPF?

+2

supongo que es porque quiere para aprovechar el comportamiento predeterminado de la ventana (barra de título para moverlo, botones de cerrar/min/max ...) –

+0

No es realmente Thomas. No me importa tener cualquiera de esas cosas. ¿Es posible convertir una ventana existente en un Control de usuario? Lo que realmente trato de hacer es ahorrar tiempo y usar Windows existente que ya se está ejecutando (y que se han probado en producción) dentro de una nueva ventana "Principal". Cada una de las ventanas existentes se convertirá en una pestaña dentro de esta ventana "Principal" en lugar de ser una ventana separada. –

0

Creo que lo que está pidiendo es MDI, Interfaz de múltiples documentos. Algo como this podría ayudar.

Tenga en cuenta, sin embargo, que el paradigma de MDI se ha evitado en gran medida en estos días. Por lo general, hay mejores formas de lograr la misma funcionalidad.

+0

Cool ... sin embargo, el cromo para las ventanas secundarias es bastante feo;) –

+0

MDI is sooo 1995;) – Thorsten79

0

Creo que desea alojar los contenidos de WPF Window1.xaml (page1.xaml) dentro de otra ventana de WPF.

Bueno ... puede usar la navegación. En lugar de ejecutar contenidos de window1.xaml dentro de la pestaña, puede trabajar con sus datos dentro de Navigation. La navegación puede ejecutarse dentro de la aplicación de ventana WPF. Usted acaba de diseñar su formulario/UI en page1.xaml.

uno otro..MDI viejo y oxidado. Queremos que quede claro de la ventana superior hoy en día.

1

un poco tarde en esto, pero supongo que con WindowsForms INTEROP se puede poner en WPF un host de control de Windows Forms y en ese host colocar un control de Windows Forms que aloja el mango de una ventana de WPF

+0

> aloja el control de una ventana de WPF ¿Alguna elaboración? – Edza

+0

puede hacer controles de WinForms a partir de lo que recuerdo que envuelven un identificador de ventana. Entonces, como puede obtener el identificador de ventana de una ventana WPF, podría envolverlo con un control WinForms, creo. Entonces, dado que WPF puede alojar controles de WinForms a través de la capa de interoperabilidad que tiene (viceversa también está disponible por lo que recuerdo), podría poner esa envoltura de WinForms de esa ventana de WPF dentro de otra ventana de WPF –

+0

por cierto, Haría que hereden de UserControl en cambio, es más versátil (por ejemplo, podría tener Windows que aloje ese UserControl y también podría tener otro diseño con una vista con pestañas que aloje en cada pestaña uno de esos UserControls) –