| Antonio Budano |
Window layout
Come è possibile definire in WPF il layout di tutte le window dell'applicazione?
Voglio dire, se definisco uno standard in cui voglio che tutte le window abbiano un header panel, uno splitter, un tabcontrol, ecc. il cui contenuto varia in funzione della window, come posso definirli una volta per tutte? In winforms definivo una FormBase che conteneva questi elementi, ereditavo da questa le form succesive e poi a design time aggiungevo gli elementi che necessitavo, in WPF mi pare che questo non sia fattibile. Per adesso copio e incollo gli elementi base da un file nello xaml della window e poi aggiungo il resto. Voi come fate? Antonio |
| Michele Semprini |
Re: Window layout
Direi che hai ragione - anche noi avevamo lo stesso problema.
La nostra soluzione è stata quella di definire una "windowContainer" dove è stata impostata tutta la struttura fissa + un ContentControl in cui carichiamo (attraverso Binding) una serie di UserControls, uno per ogni view da rappresentare. (In effetti il suggerimento è stato dell'inarrivabile Corrado) Spero di essere stato d'aiuto ciao, Michele |
| Antonio Budano |
Re: Window layout
Grazie Michele per il suggerimento.
Hai qualche esempio da vedere? Antonio |
| Michele Semprini |
Re: Window layout
No, purtroppo qualche esempio non ce l'ho;
ma non dovrebbe essere particolarmente problematico riprodurre la cosa. Basta che fai in modo che la proprietà "Content" del ContentControl venga valorizzata con uno UserControl: noi abbiamo creato la proprietà "CurrentView" di Tipo UserControl nel ViewModel che mettiamo in Binding su "Content": ... ContentControl Content="{Binding CurrentView}" ... Cambiando nel ViewModel il valore della proprietà, automaticamente ti verrà caricato lo UserControl relativo nella windowContainer. m |