2014-12-02 5 views
2

4 개의 패널이 차례대로 배열되어 있습니다. 각 패널은 제 3 패널을 제외하고는 고정되어 있으며 가능한 한 커야합니다.크기 조정 가능한 표 열

첫 번째, 두 번째 및 네 번째 패널의 가시성을 전환 할 수 있기를 원합니다.

나는 그리드를 사용하고 단지 다른 열을 전환 시도 :

<Grid Grid.Row="1" Name="ResizablePanels"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="40" Name="gridColTools"/> 
     <ColumnDefinition Width="100" Name="gridColStamps"/> 
     <ColumnDefinition Width="*" Name="gridColCanvas"/> 
     <ColumnDefinition Width="256" Name="gridColPropertiesAndLayers"/> 
    </Grid.ColumnDefinitions> 
    ... 
<Grid> 

을하지만 이것은 단지 실제로 재배치 및 제 3 패널 크기를 조정하지 않고 패널을 숨 깁니다.

나는 또한 wrappanel을 시도했지만, 제 3 패널의 크기가 알려지지 않았기 때문에 couldnt가 작동하도록했습니다.

열의 가시성을 전환하고 적절하게 크기를 조정하려면 어떻게해야합니까?

답변

2

숨기기 가능한 열 너비를 "자동"으로 설정하고 각 눈금 열에 포함 된 컨트롤의 너비 (40, 100, 256)를 설정해야합니다.

지금은 열의 크기가 항상 자동으로 지정되도록 지정합니다. 너비를 자동으로 설정하면 너비를 숨기는 세 번째 열 (폭 *)은 숨길 때 제공되는 모든 공간을 흡수합니다.

@Blam이 지적했듯이 Visibility.Collapsed를 사용하면 제대로 작동합니다. 숨겨진 컨트롤이 여전히 공간을 차지하기 때문에 Hidden은 여기를 자르지 않습니다.

1

30 자이어야합니다.

Visibility.Collapsed;