2 Stimmen

Gibt es eine Möglichkeit, automatisch eine Leinwand auf Überlauf in WPF blättern zu machen?

Ich habe im Internet und auf dieser Website nachgeschaut, konnte aber keine Abstammungsergebnisse finden.

Gibt es eine Möglichkeit, eine Leinwand in WPF zeigen Bildlaufleisten auf Überlauf zu machen? Ich habe es mit dem Scrollviewer versucht, aber ich bekomme es nicht hin :(

Vielen Dank im Voraus

3voto

JaredPar Punkte 699699

Das Problem, auf das Sie stoßen, ist, dass Canvas, im Gegensatz zu vielen WPF-Panels und Containern, die Größe nicht an den Inhalt anpasst. Das heißt, wenn Sie ein Element hinzufügen, das außerhalb der Canvas-Grenzen geht, wird es nicht aktualisieren Sie die Größe. Daher Einbetten eines Canvas in einem ScrollViewer wird nicht gut tun, es sei denn, Sie manuell die Größe des Canvas aktualisieren.

Es klingt wie das, was Sie wollen, ist ein Canvas, das Größe zu Inhalt unterstützt. Dieser Blogeintrag hat genau diese Steuerung.

http://themechanicalbride.blogspot.com/2008/11/auto-sizing-canvas-for-silverlight-and.html

0voto

logan Punkte 25

Ich habe einen anderen Ansatz gewählt und das Canvas für das Grid aufgegeben. Die Leinwand ist leistungsfähiger, aber für meine Zwecke zumindest habe ich nicht einen Unterschied bemerkt. Das Grid kann das Verhalten von Canvas nachahmen, indem es Folgendes tut.

Erstellen Sie ein einzeiliges, einspaltiges Gitter. Setzen Sie die HorizontaleAusrichtung auf Links Setzen Sie VerticalAlignment auf Top Verwenden Sie Margin "x,y,0,0", um die Position festzulegen.

Bam..funktioniert genau wie Canvas und es funktioniert großartig in einem Scrollviewer.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X