2012-04-12 3 views
2

의 항목 중 하나의 크기를 취할 임의의 크기.을 TabControl 내가 네 개의 탭이있는 TabControl에이

텍스트 상자는 일부 속성에 바인딩되지만 비어 있거나 긴 텍스트를 가질 수 있습니다. 라벨과 동일합니다.

대신 이미지가 항상 가장 큰 크기입니다.

TabControl은 탭의 크기에 따라 크기가 변경되는 창에 정의됩니다.

현재 하나의 탭에서 다음 탭으로 전환 할 때마다 창의 크기가 변경됩니다. 나는 의아해 오전

은에 얻을 수있는 가장 좋은 방법은 다음

  • 을 TabControl은 텍스트 상자가 TabItem의 패널에 맞는
  • UserControl을 크기에 따라 크기를 설정하지만 크기를 원하는 경우 두 번째 패널의 크기보다 크면 세로 스크롤 막대가 표시됩니다.
  • 양식이로드되고 탭이 표시되면 한 탭에서 다음 탭으로 변경하면 창 크기가 조정되지 않습니다.

사용자 정의 컨트롤을 작성하지 않고도이를 달성 할 수있는 방법에 대한 아이디어가 있습니까?

답변

1

당신은 몇 ElementName을 바인딩하고있는 ScrollViewer를 사용하여이를 달성 할 수 있어야한다 :

<TabControl Name="tabControl" Height="{Binding ElementName=userControl, Path=Height}"> 
    <TabItem Header="ONE"> 
     <ScrollViewer Height="{Binding ElementName=tabControl,Path=Height}"> 
      <TextBox Height="400" VerticalAlignment="Top"/> 
     </ScrollViewer> 
    </TabItem> 
    <TabItem Header="TWO"><UserControl Name="userControl" Height="200" Width="400" /></TabItem> 
    <TabItem Header="THREE"><Label/></TabItem> 
    <TabItem Header="FOUR"><Image/></TabItem> 
</TabControl> 
+0

이 높이와 너비 속성이 명시 적으로 정의 된 경우에만 작동하는 것 같다. – mhttk

+0

사용자 정의 컨트롤에서 명시적인 높이와 너비를 제거한 다음 탭 컨트롤의 height 속성에서 바인딩 경로를 높이 대신 ActualHeight로 변경하는 것이 좋습니다. – KodeKreachor

관련 문제