Ich bin auf der Suche nach einer Meinung über die Verwendung von Canvas vs. Grid Panels in WPF. Ich muss klassische Eingabeformulare erstellen, die im Grunde Raster-Layouts haben, einige können kleine Datargids innerhalb haben, Gruppenboxen, aber alle im Raster-Layout ausgerichtet. Ich habe Probleme mit der Verwendung des Grid- oder Canvas-Bereichs für alle meine Formulare. Grid gibt mir eine gute Struktur; Ich kann die Ausrichtung der Kontrollen leichter aufrechterhalten. Ich werde Basisklasse (die Window-Klasse erbt) für alle Fenster, so dass Designer in Visual Studio wird nutzlos sein, da es Probleme für diese Art der Vererbung hat, und mit Grid-Panel ich brauche nicht wirklich Designer, und ich kann setze das Fenster SizeToContent, damit alles passt. Aber wieder mit Canvas habe ich die Möglichkeit, die Steuerelemente beliebig zu positionieren, und das ist nur ein Vorteil, den ich bei der Verwendung von Canvas sehe.Grid vs. Canvas
Ich hatte nicht viel Erfahrung in WPF, um vorherzusagen, welche Art von Problemen ich von Kundenanfragen auf dem Layout bekommen könnte. Auf Webformularen verwende ich manchmal absolute Positionierung für Formulare, nur für den Fall, dass der Kunde eine "spezielle" Anfrage hat, ob er das Kontrollpixel rechts oder links höher haben soll usw. Jeder, der mit anspruchsvollen Kunden arbeitet, weiß was ich meine.
Ich würde gerne sehen, was Sie denken, was sind Vor- und Nachteile für beide in Business-Anwendung Formularlayout Gebäude? Warum ist einer besser als der andere? Irgendwelche Fälle, in denen ein Panel schlecht zu benutzen wäre und andere nicht? Was sind die Nachteile eines Panels zu einem anderen? Welches Panel würden Sie verwenden?
Dank
ich mit CSharperWithJava zustimmen - ist ein weitaus praktisches Element für die allgemeine UI-Layout. –
Giffyguy
Sie möchten mit einem Grid oder Panel-basierten Layout gehen. Werfen Sie einen Blick auf die MSDN-Übersicht über das WPF-Layoutsystem: http://msdn.microsoft.com/en-us/library/ms745058.aspx – rmoore
Hier ist ein Tutorial, um Starter mit Rasterlayouts zu erhalten: http: // www .wpftutorial.net/GridLayout.html – CodeFusionMobile