Significato di * (asterisco) in una ColumnDefinition WPF?

Qual è il significato di * (asterisco) nella XAML di seguito?

       

Quando si definisce una colonna in una griglia WPF, è ansible impostare la larghezza su uno dei tre valori possibili:

  • A larghezza fissa,
  • Auto – la colonna diventerà larga quanto necessario per adattarsi ai suoi figli, o
  • * (stella) occupa tutto lo spazio rimanente disponibile

* È preceduto da un numero (il valore predefinito è 1 se non viene specificato alcun numero). Lo spazio disponibile è diviso tra le colonne speciali in proporzione al numero di prefisso.

Se hai questa definizione

     

La prima colonna otterrà il 7% dello spazio totale disponibile e la seconda colonna otterrà il 93%. D’altra parte se avessi questa definizione:

     

La prima colonna otterrebbe 1/3 e il secondo 2/3 dello spazio disponibile.


Nel tuo caso specifico in cui la larghezza della griglia è 354 e le proporzioni delle due colonne sono 40 e 314 ottieni le seguenti larghezze di colonne:

 Larghezza prima colonna = 40 / (40 + 314) * 354 = 40
 Larghezza seconda larghezza = 314 / (40 + 314) * 354 = 314

La larghezza della stella viene utilizzata al meglio quando la larghezza della griglia non è fissa. Quando la griglia viene ridimensionata, le colonne verranno ridimensionate proporzionalmente come specificato dalle larghezze delle stelle. Nel tuo caso la larghezza della griglia è fissa e potresti facilmente usare colonne a larghezza fissa.

Se vuoi un layout in cui la seconda colonna è il doppio della larghezza della prima e la terza della colonna è tripla della larghezza della prima hai bisogno di questa definizione:

      

Se la larghezza totale della griglia è 300, ottieni le larghezze delle colonne 50, 100 e 150. Se la larghezza totale della griglia è 600, ottieni le larghezze delle colonne 100, 200 e 300. E così via.

Il suo rapporto di 0.07 rispetto a qualsiasi altra colonna di larghezza della stella – cioè se un’altra ColomnDefinition ha una larghezza di 0.14 allora quella colonna è il doppio della larghezza = è tutto su razioni

Crea dimensioni di colonna usando rapporti. Se avessi un’altra definizione come la prima colonna il 70% di spazio e la seconda il 30%.

[..] un valore che viene express come una proporzione ponderata dello spazio disponibile.