Frage

Ich brauche eine Canvas zu implementieren, die seinen Inhalt entsprechend seiner Größe skaliert. Ich weiß, es ist Viewbox, die alles in der es skaliert. Allerdings kann ich nicht, dass verwenden, da einige Elemente eine feste Größe haben und nicht skaliert werden kann.

Auch, wie kann ich die Größe des Canvas an das Mutterelement binden (zum Beispiel ein veränderbares Fenster). Es gibt SizeToContent für Fenster, möchte ich die Größe passend genau umgekehrt. Auch die Leinwand eine Zeichnung auf der Grundlage der Größe des Hosting-Elements verwendet, wie wird neu zeichnen ausgelöst und wie kann ich sicherstellen, dass es nur zieht, wenn es eine gültige (oder min) Größe bekommt?

War es hilfreich?

Lösung

Wenn Sie keine Breite oder Höhe auf die Leinwand angeben nutzt automatisch alle verfügbaren Platz. Dies ist, weil der Standard VerticalAlignment und HorizontalAlignment werden auf Stretch.

Was meinst du mit Leinwand, die seinen Inhalt nach seiner Größe skaliert, ohne den gesamten Inhalt Skalierung als einige feste Größe haben?

Update nach Kommentaren

Wenn Sie Ihre Zeichnung Algorithmus bereits den Inhalt auf die Leinwand Höhe und Breite skaliert dann alles, was Sie tun müssen, ist die Leinwand, um die Größe der Fläche zu passen glaube ich? In diesem Fall entfernen Sie fest einprogrammierte Höhe / Breite-Werte und die Leinwand wird die Größe des Behälters passen.

Sie müssen möglicherweise Actual / Actual statt Höhe / Breite in der Zeichnung Algorithmus nach dieser allerdings verwenden. Actual / Actual die Werte zurück, die das Layout Container Ihrer Leinwand geben, so dass diese die Werte repräsentieren die Leinwand mit gezeichnet.

scroll top