XAML ColumnDefinition에서 * (별표)의 의미는 무엇입니까?


106

아래 XAML에서 * (별표)의 의미는 무엇입니까?

<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>

내 두 번째 열 너비가 첫 번째의 두 배이고 세 번째 열 너비가 첫 번째의 세 배인 경우 어떻게 Astrik을 사용할 수 있습니까
Shashank

답변:


168

WPF 그리드에서 열을 정의 할 때 너비를 세 가지 가능한 값 중 하나로 설정할 수 있습니다.

  • 고정 너비,
  • Auto – 열이 자식에 맞게 필요한만큼 넓어 지거나
  • * (별표) 사용 가능한 남은 공간을 차지합니다.

*(어떤 번호가 지정되지 않은 경우 기본값은 1) 숫자가 앞에 붙습니다. 사용 가능한 공간은 접두사 번호에 비례하여 별표 표시된 열로 나뉩니다.

이 정의가 있다면

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

첫 번째 열은 사용 가능한 총 공간의 7 %를, 두 번째 열은 93 %를 얻습니다. 반면에이 정의가 있다면 :

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

첫 번째 열은 사용 가능한 공간의 1/3과 두 번째 2/3를 얻습니다.


그리드의 너비가 354이고 두 열의 비율이 40 및 314 인 특정 경우에 다음과 같은 열 너비를 얻습니다.

첫 번째 열 너비 = 40 / (40 + 314) * 354 = 40
두 번째 열 너비 = 314 / (40 + 314) * 354 = 314

그리드의 너비가 고정되지 않은 경우 별 너비가 가장 적합합니다. 격자 크기가 조정되면 열은 별 너비에 지정된대로 비례 적으로 크기가 조정됩니다. 귀하의 경우 그리드의 너비는 고정되어 있으며 고정 너비 열을 쉽게 사용할 수 있습니다.

두 번째 열이 첫 번째 열의 두 배이고 세 번째 열이 첫 번째 열의 세 배인 레이아웃을 원하는 경우 다음 정의가 필요합니다.

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

그리드의 전체 너비가 300이면 열 너비는 50, 100, 150이됩니다. 그리드의 전체 너비가 600이면 열 너비는 100, 200, 300이됩니다. 등등.


3

다른 별 너비 열에 대한 0.07 비율-즉, 다른 ColomnDefinition의 너비가 0.14이면 해당 열은 너비의 두 배가됩니다.


1

비율을 사용하여 열 크기를 만듭니다. <ColumnDefinition Width="0.03*"/>첫 번째 열과 같은 다른 정의가 있으면 공간의 70 %를 차지하고 두 번째 열은 30 %를 차지합니다.


0

[..] 사용 가능한 공간의 가중 비율로 표시되는 값입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.