WPF-Grid: gibt es eine einfache Möglichkeit, justieren Sie die Zeile posten, wenn ich neue Zeilen einfügen?
Scheint es, dass grid-Zeilen-und Spaltendefinitionen sind hard-coded wie diese:
Grid.Row="3" Grid.Column="1"
Ich bin in der Mitte von der Entwicklung auf eine neue WPF-Anwendung, und ich bin das ständige hinzufügen und löschen, neue Zeilen aus meinem Netz wie der client macht Ihren Geist auf, wie das Formular Aussehen soll. Ich bin zu entdecken, dass dies durchaus eine mühsame Aufgabe. Wenn eine Zeile einfügen in der Nähe der Spitze, ich muss es manuell ändern Sie die Zeile Indizes in der XAML-Code unter der Zeile, die ich gerade eingefügt.
Gibt es eine einfache Möglichkeit, auto-adjust-alle Zeilen?
- Wenn 2010 mit dem designer hinzufügen oder entfernen einer Zeile/Spalte, es wird passen Sie everythin für Sie. Rechts klicken, wo Sie wollen die neue Zeile auswählen Zeile dann einfügen. Dies ist eines der wenigen Dinge, dass der designer ist gut und einfach.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen
Grid
ist ein grid und die Zeilen und Spalten nummeriert sind für einen bestimmten Grund. Es ist wie ein Stück Papier geschnitten in eine Feste Anzahl von Plätzen. Da die Anzahl der Zeilen und Spalten ist fest, die Sie tun können mächtige Dinge wie Zeile und Spalte überspannt. Umgekehrt ist nicht flexibel für eine variable Anzahl von Zeilen oder Spalten.Wenn Sie eine variable Anzahl von Zeilen, oder Sie sind ständig hinzufügen von Zeilen zur design-Zeit, dann kann es sein, dass die
Grid
ist nicht die beste design-element für Sie. Oder noch besser, Sie können dieGrid
in Kombination mit einem anderen layout-element, um die Flexibilität, die Sie brauchen.Zum Beispiel, können Sie alle Variablen Zeilen in einer einzigen
Grid
Zeile und jetzt Ihre grid-row count ändert sich nicht mehr. Aber dann müssen Sie ein layout-element, das unterstützt eine variable Anzahl von Zeilen, die in dasGrid
Zeile. Gut, es gibt eine Menge von Ihnen zu wählen, aber zwei zum Beispiel, die nützlich sindStackPanel
undDockPanel
.Layout-element
DockPanel
insbesondere ist sehr mächtig für eine variable Anzahl von Zeilen oder Spalten, vor allem alsDockPanels
innerhalbDockPanels
oder andere Kombinationen. Alles, was Sie brauchen, um dieses layout-problem ist unterteilen und erobern!Hier ist eine Einführung in
DockPanel
: WPF-Tutorial: Dock-PanelIn Visual Studio 2015 können Sie auch den Mauszeiger über den Rand einer Zeile und ein kleines dropdown-Feld erscheinen. Wenn Sie auf den Pfeil nach unten zwei der Optionen "verschieben Zeile vor" und "verschieben Zeile nach". Das ist der beste Weg den ich gefunden habe.
Beispiel Bild:
Gibt es keine einfache Möglichkeit, auto-passen Sie Ihre Spalten/Zeilen für eine
Grid
.Eine mögliche alternative, die ich in der Vergangenheit verwendet habe ist ein
UniformGrid
da es nicht muss eine Zeile/Spalte Referenz in jeder Position. Es ist schön für die Sperrung der Platzhalter für die Daten.Wenn Sie dabei sind, ersten Entwürfen, würde ich empfehlen, es einfach mit der Drag & Drop-Schnittstelle in visual studio oder in einem design-tool, wie Balsamiq oder Mischung. Balsamiq ist mein Favorit, da es absichtlich nicht Aussehen wie eine tatsächliche Anwendung, sodass Kunden nicht aufgehängt werden, auf das tatsächliche Aussehen von der Sache und konzentrieren sich auf die Daten statt.
Ich weiß, das ist eine super alte Frage, aber falls jemand anderes kommt über ihn, in Visual Studio 2013 (vielleicht auch früher, ich bin mir nicht sicher) kann man nur den Mauszeiger über den Rand des Gitters, und es wird lassen Sie Sie aufteilen einer Zeile in zwei Zeilen.
Wird es machen, dass die Zeilen eine festgelegte Anzahl Höhe, so werden Sie wahrscheinlich benötigen, um zurück zu gehen und ändern Sie dann auf 'Auto' oder '*' oder was auch immer Sie verwenden möchten. Es macht auch alles, was in der ursprünglichen Zeile span beiden Reihen, so würden Sie brauchen, um die zu entfernen RowSpan="2" - Attribut für diese Elemente und setzen Sie Sie in die richtigen Zeilen, aber Sie schieben alle Elemente im unteren Zeilen automatisch nach unten.
Es ist nicht vollautomatisch und es gibt ein wenig Aufräumen, aber wenn Sie eine Menge von Zeilen, es ist schneller als die Neunummerierung alles manuell.