[C#][WPF] XAML 2

LimJaeJun·2024년 3월 19일

WPF

목록 보기
3/12

구역 나누기

Grid의 구역을 나누고 싶다면 Grid.RowDefinitionsGrid.ColumnDefinitions을 이용하면 된다.

이름 그대로 Row를 이용해 행을 나눌 수 있고 Column을 이용해 열을 나눌 수 있다.

예를들어

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="" />
        <RowDefinition Height="" />
    </Grid.RowDefinitions>
    
    <Grid.ColumnDefinitions>
    	<ColumnDefinitions Width="" />
        <ColumnDefinitions Width="" />
    </Grid.ColumnDefinitions>
</Grid>

이렇게 선언한다면 2*2 배열의 Grid로 구분된다.

직접 나누기

Height와 Width의 값을 px값처럼 직접 넣어도 되고
숫자 뒤에 *를 넣어 비율로 계산할 수 있다.

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="200" />
        <RowDefinition Height="500" />
    </Grid.RowDefinitions>
</Grid>

200과 500의 길이로 나눈다는 의미

비율로 나누기

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="2*" />
        <RowDefinition Height="5*" />
    </Grid.RowDefinitions>
</Grid>

2:5비율로 해당 그리드를 나눈다는 의미

자동으로 나누기

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="Auto*" />
        <RowDefinition Height="Auto*" />
    </Grid.RowDefinitions>
</Grid>

자동으로 구역을 구분해달라는 의미

당연하게 2*2 배열뿐 아니라 m*n 배열로 구분할 수 있다.

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="" />
        <RowDefinition Height="" />
        <RowDefinition Height="" />
        <RowDefinition Height="" />
    </Grid.RowDefinitions>
    
    <Grid.ColumnDefinitions>
    	<ColumnDefinitions Width="" />
        <ColumnDefinitions Width="" />
        <ColumnDefinitions Width="" />
    </Grid.ColumnDefinitions>
</Grid>

4*3 배열로 구분한다는 의미

구분된 구역에 컨트롤러 삽입

2*2배열로 구역을 구분하고 원하는 곳에 WPF 컨트롤러를 넣고 싶다면

<Grid>
	<Grid.RowDefinitions>
    	<RowDefinition Height="" />
        <RowDefinition Height="" />
    </Grid.RowDefinitions>
    
    <Grid.ColumnDefinitions>
    	<ColumnDefinitions Width="" />
        <ColumnDefinitions Width="" />
    </Grid.ColumnDefinitions>
    
    <Grid Grid.Row="0" Grid.Column="0" Name="Grid00">
		<!--원하는 컨트롤러 삽입-->
	</Grid>
    
    <Grid Grid.Row="0" Grid.Column="1" Name="Grid01">
		<!--원하는 컨트롤러 삽입-->
	</Grid>
    
    <Grid Grid.Row="1" Grid.Column="0" Name="Grid10">
		<!--원하는 컨트롤러 삽입-->
	</Grid>
    
    <Grid Grid.Row="1" Grid.Column="1" Name="Grid11">
		<!--원하는 컨트롤러 삽입-->
	</Grid>
</Grid>

위와 같이 구역을 나눠 원하는 컨트롤러를 삽입하면 된다.

※ 주의사항

Name이 겹치지 않도록 조심
Row 혹은 Column이 겹친다면 해당 컨트롤러들이 겹쳐서 보이므로 값을 잘 확인해서 넣어야함

profile
Dreams Come True

0개의 댓글