Podczas definiowania kolumny w siatce WPF można ustawić szerokość do jednej z trzech możliwych wartości:
- stałą szerokość,
Auto
- kolumna będzie tak szeroko, jak to konieczne, aby dopasować jego dzieci lub
*
(gwiazdka) podjęcia wszelkich dostępnych pozostałą przestrzeń
*
jest poprzedzony numerem (domyślnie 1 jeśli nie podano liczby). Dostępna przestrzeń jest podzielona między kolumny oznaczone gwiazdką proporcjonalnie do numeru prefiksu.
Jeśli masz tę definicję
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>
Pierwsza kolumna otrzyma 7% całkowitej dostępnej przestrzeni, a druga kolumna dostanie 93%. Z drugiej strony, jeśli masz tę definicję:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>
Pierwsza kolumna otrzyma 1/3 i drugie 2/3 dostępnego miejsca.
W swoim szczególnym przypadku, gdy szerokość siatki jest 354 i proporcje tych dwóch kolumn 40 i 314 można uzyskać następujące szerokości kolumn:
First column width = 40/(40 + 314)*354 = 40
Second coulmn width = 314/(40 + 314)*354 = 314
Szerokość gwiazda jest najlepiej wykorzystywane gdy szerokość siatki nie jest stała. Gdy rozmiar siatki zostanie zmieniony, kolumny będą skalowane proporcjonalnie, zgodnie z szerokościami gwiazd. W twoim przypadku szerokość siatki jest stała i równie łatwo można było użyć kolumn o stałej szerokości.
Jeśli chcesz układ gdzie druga kolumna jest podwójna szerokość pierwszej i trzeciej kolumnie jest potrójnej szerokości najpierw trzeba tę definicję:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
Jeżeli całkowita szerokość siatki jest 300, otrzymasz szerokość kolumny 50, 100 i 150. Jeśli całkowita szerokość siatki wynosi 600, otrzymasz szerokość kolumny 100, 200 i 300. I tak dalej.
jeśli moja druga szerokość kolumny to podwójna pierwsza i trzecia kolumna Szerokość to potrójna część pierwsza to jak mogę użyć Astrika – Shashank