Beim Erstellen von WPF-Formularen, die für die Dateneingabe verwendet werden (z. B. eine Reihe von Beschriftungen neben einer Reihe von Textfeldern und Kombinationsfeldern), habe ich zwei Methoden kennengelernt:
Height="auto"
für jedes Feld und zwei Zeilen für Kopf- und Fußzeile (und Übergabeschaltfläche) hinzu, und jede Beschriftung und Textfeld hat ihre eigene Zeile. Wie gestalten Sie Ihre Eingabeformulare? Ich bin momentan zwischen den beiden Methoden hin- und hergerissen, vielleicht gibt es eine Alternative, die mir nicht bewusst ist?
EDIT: Henk sagte, ich sollte am besten definieren, und ich denke, ich stimme zu, am besten, ich meine am einfachsten zu pflegen, zu erstellen, auszurichten und Felder hinzuzufügen oder zu entfernen, wenn Anforderungen ändern.
Bis jetzt ist das einzige Kriterium, nach dem das Raster besser ist, die einfache Ausrichtung.
definitiv erste Methode!
es ist gut ausgerichtet, besonders mit der Verwendung von SharedSizeGroup
, so dass Sie die gleiche Ausrichtung zB in verschiedenen Gruppenboxen haben können.
Ich habe beide benutzt und es hängt wirklich davon ab, wie deine Form aussehen wird. Wenn Sie ein wirklich einfaches Layout haben, in dem Sie Etiketten und entsprechende Felder von ungefähr der gleichen Größe haben, dann funktioniert Ihre erste Methode gut. Sie können zwei Spalten erstellen, die sehr gut zusammenpassen. Wenn Ihre Felder jedoch unterschiedliche Widgets und Höhen aufweisen und Sie mit den Layouts komplexer sein möchten, empfiehlt sich möglicherweise ein Hybridansatz. Wenn Sie etwas komplizierteres tun, als nur Felder auf Basissteuerelementen zu beschriften, können Sie Benutzersteuerelemente erstellen, anstatt nur das zu verwenden, was im Lieferumfang enthalten ist. Wenn Felder horizontal und vertikal gezackt angeordnet werden, wird es schwierig, das Rasterlayout beizubehalten, da Sie ein Raster mit vielen Spalten und Zeilen haben müssen. Die Felder und Beschriftungen müssen Spalten und Zeilen umfassen, damit die Ausrichtung korrekt ist. Das funktioniert, ist aber ein Albtraum, wenn Sie das Formular jemals reorganisieren möchten.
Für das, was Sie geschrieben haben, klingt es so, als ob der erste Ansatz der beste ist. Wenn es jetzt einfach und irgendwann in der Zukunft komplexer wird, ist es leicht zu ändern. Wenn Sie jedoch bereits ein komplexeres Layout haben, ist ein reiner Gitteransatz wahrscheinlich nicht optimal.
Haftungsausschluss: Ich werde in meinem Blog wenig über das Produkt meiner eigenen Firma sagen, das Vergleiche und Herausforderungen bei der Pflege von Formularen bietet.
Sowohl Grid als auch StackPanel haben Alpträume, daher haben wir einen anderen Ansatz zum Erstellen von Formularlayouts gewählt, und ich habe unseren Ansatz hier auf diesem Link beschrieben,
Tags und Links wpf forms grid stackpanel