XAML ColumnDefinition'da * (yıldız işareti) 'nin anlamı nedir?


106

Aşağıdaki XAML'de * (yıldız işareti) kelimesinin anlamı nedir?

<ColumnDefinition Width="0.07*"/>
<Grid Height="100" HorizontalAlignment="Left" 
      Margin="102,134,0,0" 
      Name="grid1" VerticalAlignment="Top" 
      Width="354">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="40*" />
        <ColumnDefinition Width="314*" />
    </Grid.ColumnDefinitions>
</Grid>

benim ikinci Sütun Genişliği birinci ve üçüncü sütun çift ise Genişliği Sonra Nasıl Can i kullanın Astrik Birinci Of Üçlü olduğunu
Shashank

Yanıtlar:


168

WPF ızgarasında bir sütun tanımladığınızda, genişliği üç olası değerden birine ayarlayabilirsiniz:

  • Sabit bir genişlik,
  • Auto - sütun, çocuklarına sığması için gerektiği kadar genişleyecektir veya
  • * (yıldız) kalan boş alanı kaplar

*(Numara belirtilmemişse, varsayılan 1'dir) bir sayı ile öneki. Kullanılabilir alan, önek numarasıyla orantılı olarak yıldızlı sütunlar arasında bölünür.

Bu tanıma sahipseniz

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="0.07*"/>
  <ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>

İlk sütun mevcut toplam alanın% 7'sini alacak ve ikinci sütun% 93'ünü alacaktır. Öte yandan, bu tanıma sahipseniz:

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="0.07*"/>
  <ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>

İlk sütun, mevcut alanın 1 / 3'ünü ve ikinci 2 / 3'ünü alacaktır.


Izgara genişliğinin 354 ve iki sütunun oranlarının 40 ve 314 olduğu özel durumunuzda aşağıdaki sütun genişliklerini elde edersiniz:

İlk sütun genişliği = 40 / (40 + 314) * 354 = 40
İkinci coulmn genişliği = 314 / (40 + 314) * 354 = 314

Yıldız genişliği en iyi şekilde ızgaranın genişliği sabit olmadığında kullanılır. Izgara yeniden boyutlandırıldığında, sütunlar yıldız genişlikleri tarafından belirtildiği gibi orantılı olarak ölçeklenir. Sizin durumunuzda, ızgaranın genişliği sabittir ve aynı kolaylıkla sabit genişlikteki sütunları kullanabilirsiniz.

İkinci sütunun, birinci sütunun genişliğinin iki katı ve üçüncü sütunun birincinin genişliğinin üç katı olduğu bir düzen istiyorsanız, bu tanıma ihtiyacınız vardır:

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="*"/>
  <ColumnDefinition Width="2*"/>
  <ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>

Izgaranın toplam genişliği 300 ise, sütun genişlikleri 50, 100 ve 150 elde edersiniz. Izgaranın toplam genişliği 600 ise, sütun genişlikleri 100, 200 ve 300 elde edersiniz. Ve bu böyle devam eder.


3

Diğer herhangi bir yıldız genişliği sütununa 0.07 oranı - yani, başka bir ColomnDefinition 0,14 genişliğe sahipse, o zaman bu sütun genişliğin iki katıdır = hepsi rasyonlarla ilgilidir


1

Oranları kullanarak sütun boyutları oluşturur. <ColumnDefinition Width="0.03*"/>İlk sütun gibi başka bir tanımınız varsa , ikinci sütun% 70 yer kaplar ve ikincisi% 30 kaplar.


0

[..] kullanılabilir alanın ağırlıklı oranı olarak ifade edilen bir değer.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.