WPF

Grid + GridSplitter + ColumnSpan

dokpin 2022. 1. 21. 08:43
728x90

화면을 원하는 행과 열의 구역으로 나눌 수 있습니다.

 

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="20" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="1*" />
        <ColumnDefinition Width="3" />
        <ColumnDefinition Width="3*" />
    </Grid.ColumnDefinitions>
    <GridSplitter Grid.Column="1" Grid.Row="1"
          HorizontalAlignment="Stretch"
          ShowsPreview="True"
          Width="3"
          />
</Grid>

그리드 행과 열의 개수, 너비 정의

3개 열을 정의하고

가운데 있는 열(1번 열)은 GridSplitter 컴포넌트로 설정하여 0번 열과 2번 열의 크기를 조정할 수 있게 합니다.

 

 

<Button Grid.ColumnSpan="3" Grid.Row="0" Width="40" HorizontalAlignment="Left" Margin="10,0,0,0" Click="Button_Click">file</Button>
<TextBox Grid.ColumnSpan="3" Grid.Row="0" Name="folderpathtext" Margin="60,0,0,0">input path</TextBox>

버튼과 텍스트박스를 생성하고

Grid.ColumnSpan 속성을 지정합니다.

3은 3개의 열을 합쳐서 씁니다. 버튼과 텍스트박스가 첫 번째 행에 3개 열을 동시에 쓰므로

버튼이 먼저 위치하고 버튼 우측에 텍스트박스가 생성됩니다. 텍스트박스 좌측에 마진 60px을 둬서 거리를 줬습니다.