Ich habe ein Projekt, das eine DataGrid
mit einer benutzerdefinierten Vorlage verwendet, so dass ich eine spezielle Zeile an den unteren Rand der Datenzeilen hinzufügen kann. Ich möchte, dass diese spezielle Zeile unter der letzten Zeile gepinnt wird, aber nicht als Teil der ScrollViewer
, so dass sie unter der letzten Zeile angeheftet bleibt, bis die Unterseite der speziellen Zeile die Unterseite des Datenrasters erreicht, dann möchte ich die Reihen Sie die Region auf die Größe dazwischen und scrollen Sie entsprechend, wobei die spezielle Reihe immer sichtbar ist.Wie stecke ich ein Steuerelement unter einem anderen in Silverlight?
Bisher habe ich meine spezielle Zeile als Teil der ScrollViewer
zusammen mit der RowsPresenter
. Sowohl der Presenter als auch die spezielle Zeile befinden sich in den Zeilen Grid
innerhalb der ScrollViewer
, die ScrollViewer
in einer sternförmigen Rasterzeile, so dass die Bildlaufleiste angezeigt wird, wenn kein Platz mehr vorhanden ist. Wie bekomme ich das heraus, wo die Zeilen und die spezielle Zeile zusammen rollen, wo ich sein will, wo die Zeilen rollen, aber die spezielle Zeile unten angeheftet und immer sichtbar ist?
Obwohl mein Beispiel eine DataGrid
verwendet, bin ich mir sicher, dass dies vereinfacht werden kann, um nur ein scrollbares Element von unterschiedlicher Höhe und ein Steuerelement darunter zu pinnen. Bis jetzt stelle ich mir vor, ich brauche eine Canvas
anstatt eine Grid
zu hosten meine ScrollViewer
und Companion spezielle Zeile, mit etwas Logik Höhen und Positionen zu justieren, wenn die ScrollViewer
wächst (wenn ich das erkennen kann), aber ich habe dies noch nicht versucht . Gibt es einen besseren Weg oder ist der Canvas
Ansatz der beste?