Was ist der Unterschied zwischen 'Auto' und '*' beim Einstellen von Breite / Höhe für eine Rasterspalte?

121

Ich kann beim Festlegen von Breite / Höhe für eine Rasterspalte nicht zwischen 'Auto' und '*' unterscheiden. Bitte helfen Sie!

Nam G VU
quelle
Scheint, als würden Sie über Gitterzeilen / -spalten sprechen ... sie sind eigentlich keine Elemente.
Noldorin
Ich weiß, dass das von mir vorgeschlagene Duplikat für Silverlight ist, aber die Syntax für WPF ist dieselbe.
ChrisF

Antworten:

197

Sprechen wir hier im Kontext von WPFGrid? In meiner Antwort geht es um Spalten, aber das gilt auch für Zeilen.

Kurz gesagt:
- Autobedeutet Größe zum Spalteninhalt und
- *bedeutet Größe proportional zum Raster

Autobedeutet, dass eine Spalte so breit ist, wie es die darin enthaltenen Elemente erfordern. Die Breite von *Spalten mit Größe wird berechnet, indem Platz für die AutoSpalten und Spalten mit fester Breite zugewiesen und dann der verbleibende Speicherplatz aufgeteilt wird. Wenn es also nur eine *Spalte mit einer Größe gibt, erhält sie den gesamten verbleibenden Platz, wenn es zwei gibt, erhalten sie jeweils die Hälfte usw. Sie können auch den Anteil ändern, der jeder Spalte mit Sterngröße zugewiesen ist.

Wenn Spalte A eine Größe von 2*und B eine Größe von hatte, 3*wird der gesamte Spaltenraum in 5 gleiche Anteile aufgeteilt. Spalte A würde 2 Anteile des Raums erhalten und B würde 3 Anteile erhalten.

Samuel Jack
quelle