Hier sind ein paar einfache Mocks:
90% davon sind einfach für mich, aber der Prozess, ein Wrap-Panel zu erstellen, das sich selbst "trennen" kann, um einen Gegenstand zu enthüllen, entzieht sich mir im großen Stil. Jeder Rat würde geschätzt werden.
Eine der Lösungen ist:
Sie können die Schaltflächen innerhalb des Wrap-Bereichs ( innerhalb des Rasters ) durch Ändern der Ränder einiger Bereiche voneinander trennen (natürlich müssen Sie auch die Größe des Fensters ändern, wenn Sie die Größe der Schaltflächen beibehalten möchten) Vermeiden Sie es, sie in die nächste Zeile zu verschieben).
Zum Beispiel, wenn Sie 4 Spalten und drei Reihen von Schaltflächen namens button 1,2,3 usw. haben ... Wenn der Knopf von der ersten Spalte angeklickt wird, erhalten die Tasten 2,6,10:
%Vor%Dadurch werden alle Schaltflächen auf der rechten Seite um den Wert des Variablenraums verschoben;
Und dann
%Vor%Und dann TextBox, die Kinder des Gitters ist, an geeigneter Stelle mit der Breite Platz finden.
Beim Rückgängigmachen
%Vor%Es hat gut für mich funktioniert, aber ich bin neugierig auf andere Lösungen.
Das hörte sich nach einer lustigen Aufgabe an, also habe ich beschlossen, etwas nach Ihren Vorstellungen zu implementieren. Ich dachte, ich könnte es teilen, damit Sie es verbessern oder es nach Ihren Wünschen verwenden können. Erstens, diese Aufgabe übersteigt meine Fähigkeiten, in only XAML zu implementieren. Ich sage nicht, dass es nicht gemacht werden kann, nur dass es ein bisschen schwierig ist. Stattdessen habe ich meinen eigenen Panel-Typ implementiert (namens GapPanel
). Das klingt vielleicht noch schlimmer, aber es gibt trotzdem ein paar nette Dinge, wie die Möglichkeit, RoutedEvent
s zu implementieren, um in XAML auf Animationen zu reagieren.
Also, hier ist die Last von Code. Zuerst das XAML
%Vor%Und das (Gräuel) eines Panels ..
%Vor%Hinterlasse einen Kommentar, wenn du etwas brauchst, das ich erklären muss.
Ich kann auch nicht helfen, das Buch "WPF4 Unleashed" von Adam Nathan zu promoten. Viel, wenn nicht alles, was ich oben getan habe, wird in diesem Buch sehr ausführlich erklärt, also ist es eine großartige Quelle für jeden, der mehr über WPF erfahren möchte.