Sto cercando un parere sull'utilizzo dei pannelli Canvas vs. Grid in WPF. Ho bisogno di creare forme di input classiche che hanno fondamentalmente layout di griglia, alcuni possono avere piccoli datagrids all'interno, groupbox, ma tutti allineati nella griglia. Sto lottando se usare il pannello Grid o Canvas per tutte le mie forme. La griglia mi sta dando una buona struttura; Posso mantenere più facilmente l'allineamento dei controlli Avrò una classe base (che eredita la classe Window) per tutte le finestre, quindi designer in Visual Studio sarà inutile, dal momento che ha problemi per questo tipo di ereditarietà, e con il pannello Grid non ho davvero nemmeno bisogno di designer, e posso imposta finestra SizeToContent in modo che tutto vada bene. Ma di nuovo con Canvas, ho la possibilità di posizionare i controlli in qualsiasi modo mi piaccia, e questo è solo un beneficio che vedo quando utilizzo Canvas.Grid vs. Canvas
Non avevo tanta esperienza in WPF per prevedere quali tipi di problemi potrei ottenere dalle richieste dei clienti sul layout. Sui moduli Web a volte utilizzo il posizionamento assoluto per i moduli solo nel caso in cui il cliente abbia qualche richiesta "speciale" di avere il pixel di controllo a destra o a sinistra in alto, ecc. Tutti hanno lavorato con clienti esigenti sanno cosa intendo.
Mi piacerebbe vedere cosa ne pensi, quali sono i pro e i contro per entrambi nella creazione di layout di moduli di applicazioni aziendali? Perché uno è migliore dell'altro? Eventuali casi in cui un pannello sarebbe male da usare, e altri no? Quali sono gli svantaggi di un pannello rispetto all'altro? Quale pannello useresti?
Grazie
Sono d'accordo con CSharperWithJava - è un elemento molto più pratico per il layout generale dell'interfaccia utente. –
Giffyguy
Avrai voglia di andare con un layout basato su Grid o Panel. Dai un'occhiata alla panoramica di MSDN del sistema di layout WPF: http://msdn.microsoft.com/en-us/library/ms745058.aspx – rmoore
Ecco un tutorial per iniziare a utilizzare i layout di griglia: http: // www .wpftutorial.net/GridLayout.html – CodeFusionMobile