2011-12-07 5 views
1

나는 Silverlight 응용 프로그램에서 TabControl의 TabItem에서 호스팅되는 customUserControl을 사용하고 있습니다. 이 TabControl은 스플리터가있는 큰 UI 컨테이너의 일부입니다.tabcontrol에서 scrollviewer 높이를 줄이는 방법?

내 요구 사항은 UI에서 스플리터를 사용하여 TabControl의 크기를 조정할 때 customUserControl의 크기를 조정하는 것입니다. 그러나 사용자 정의 컨트롤이 최소 높이 500px를 넘지 않아야합니다. TabControl이이 높이 아래로 이동하면 스크롤이 나타납니다.

이 난을 TabControl의 시동 폭과 응용 프로그램이로드 최대 미만 500 픽셀입니다 때 스크롤을 보여줍니다이

<WindowsControls:TabItem Header="Live Update" 
           x:Name="tabLiveUpdate" 
           Margin="3,0,0,0"> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition /> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <ScrollViewer BorderThickness="0" 
           Padding="1" 
           VerticalScrollBarVisibility="Auto" 
           Width="Auto"> 
         <MyControls:customUserControl 
             DataContext="{Binding Path=LiveUpdateVm}" 
             MinHeight="500"/> 
        </ScrollViewer> 
      </Grid> 
     </WindowsControls:TabItem> 

에 대해 다음 했어요. 스플리터를 사용하여 TabControl의 크기를 500px (예 : 최대 700px) 이상으로 늘리면 usercontrol도 크기가 커집니다. 스크롤이 사라집니다.

최대 예상대로 동작합니다.

문제는입니다. TabControl을 현재 (700) 및 최소 (500) 사이의 크기로 축소 할 때, 즉 600px에서 usercontrol을 축소하지 않을 경우 문제가 발생합니다. 오히려 그것은 심지어 600의 예상되는 행동을 높이 이제 스크롤 막대의 크기는 500 개

감사

답변

0

중 하나를 아래에 도달 할 경우에만 Stackpanel의 크기를 제한 스크롤 막대를 표시하거나 Grid로 교체하는 것입니다 보여줍니다.

<WindowsControls:TabItem Header="Live Update" 
           x:Name="tabLiveUpdate" 
           Margin="3,0,0,0"> 
      <Grid horizontalalignment="stretch" verticalalignment="stretch"> 

       <ScrollViewer BorderThickness="0" 
           Padding="1" 
           VerticalScrollBarVisibility="Auto" 
           horizontalalignment="stretch" verticalalignment="stretch"> 

         <MyControls:customUserControl 
             DataContext="{Binding Path=LiveUpdateVm}" 
             MinHeight="500" 
             horizontalalignment="stretch" verticalalignment="stretch"/> 
        </ScrollViewer> 
      </Grid> 
     </WindowsControls:TabItem> 
+0

질문에서 본 것처럼 그리드를 시도했지만 작동하지 않습니다. – Maheep

관련 문제