2011-09-14 9 views
9

*는 XAML에서 무엇을 의미합니까? 폭 400의 그리드가 있습니다. 그리드를 3 개의 컬럼으로 나눕니다. * .4는 무엇을 의미합니까? 사용 가능한 공간의 40 %라고 생각했습니다. 첫 번째 2 개의 열이 각각 40 % 씩 나오고 나머지는 세 번째 열이됩니다. 하지만 세 번째 열은 60 %를 차지하고 첫 두 열은 각각 20 %를 차지합니다. 어떻게 작동합니까?XAML에서 *의 의미는 무엇입니까

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

enter image description here

답변

12

기본적으로, 기본은 그래서 당신이 위의이 효과적으로이다, "1 *"입니다 :

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

스타 격자 간격 (GridUnitType.Star가) 비례 공간을 배포합니다. 귀하의 경우 합계가 1.8 (1.0 + 0.4 + 0.4)이므로 처음 두 열은 각각 22.2 % (0.4/1.8)의 너비가 할당됩니다.

당신이 사용할 수있는, 당신이 원하는 것을 얻으려면 :

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

이 1.0에 총을 설정하고, 각각의 백분율이된다. 총 비율은 총 (100)에 의해 분할되기 때문에

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

지금, 여전히 40 %, 40 %, 20 %를주는이 일로서 똑같은 결과을 줄 것이다

참고 .

관련 문제