2011-09-14 16 views
9

* XAML'de ne anlama gelir? Ben genişlik 400 bir ızgara var. Ve ızgara 3 sütunlara bölünmüş. * .4 ne anlama geliyor? Mevcut alanın% 40'ı olduğunu düşündüm. İlk 2 sütunun her birinin yüzde 40'ını alacağını ve geri kalanının üçüncü sütun tarafından alınacağını düşünün. ama üçüncü sütunun% 60'ını alıyor ve ilk ikisi her birinin% 20'sini alıyor. Bu nasıl çalışır?XAML'de ne anlama gelir *

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width=".4*"/> 
     <ColumnDefinition Width=".4*"/> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 
</Grid> 

enter image description here

cevap

12

Temelde, varsayılan peki yukarıda sahip etkili bir olduğunu "1 *" dir:

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.4*" /> 
    <ColumnDefinition Width="0.4*" /> 
    <ColumnDefinition Width="1.0*" /> 
</Grid.ColumnDefinitions> 

Yıldız ızgara aralığı (GridUnitType.Star) orantılı boşluk dağıtır. Sizin durumunuzda, toplam 1,8 (1,0 + 0,4 + 0,4) var, bu yüzden ilk iki sütun, her birine tahsis edilen genişliğin% 22.2'sini (0.4/1.8) alır.

kullanabilirsiniz, istediğini elde etmek için:

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.4*" /> 
    <ColumnDefinition Width="0.4*" /> 
    <ColumnDefinition Width="0.2*" /> 
</Grid.ColumnDefinitions> 

Bu 1,0'a toplam setleri, böylece her bir yüzde haline gelir. oranlarının toplamı, toplam (100) tarafından ayrılır yana

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="40*" /> 
    <ColumnDefinition Width="40*" /> 
    <ColumnDefinition Width="20*" /> 
</Grid.ColumnDefinitions> 

şimdi, hala% 40,% 40,% 20 elde edilmiştir: Bu yapıyor olarak tam olarak aynı sonucu verecek

Not .

İlgili konular