2010-02-25 9 views
6

이것은 매우 간단한 작업이어야하지만, WPF에서 많은 문제가 발생합니다.크기를 조정할 수있는 창을위한 WPF 스크롤 바

이것은 내가 원하는 것입니다 : 저는 익스펜더 컨트롤을 포함하여 창에 많은 컨트롤을 가지고 있습니다. 내용이 보이는 영역 아래로 확장 될 때 해당 창의 스크롤 막대를 갖고 싶습니다. 또한 창은 고정 너비가 아니며 크기를 최대화하거나 크기를 조정할 수 있습니다.

ScrollViewer를 창에 첫 번째 요소로 넣으려고했지만 제대로 작동하지 않습니다. 높이와 너비를 자동으로 설정하면 스크롤되지 않으며, 고정 된 디 텐트로 설정하면 창이 최대화 될 때 상자가 생성됩니다.

도움이 될 것입니다.

+1

설명해 주시겠습니까? "상자를 만듭니다"는 의미는 무엇입니까? 나는 그것을 이해하지 못했다. – Vlad

+0

주위의 창이 확대 될 때 가운데에 고정 된 너비 영역이 있음을 의미합니다. –

+0

이 경우 XAML을 게시 하시겠습니까? 흥미로운 것은 Window 자체와 그 직계 자식 요소 (ScrollViewer?)입니다. – Vlad

답변

10

고정 폭 문제가 있다고 가정합니다. XAML 샘플을 제공하면 도움이되는지 확인할 수 있습니다. 상자를 표시하지 않고 다음 작품 :

<Window x:Class="WpfSample1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 
    <ScrollViewer> 
     <StackPanel> 
      <Rectangle Height="400" Width="400" Fill="Red" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Green" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Blue" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Yellow" Margin="10" /> 
     </StackPanel> 
    </ScrollViewer> 
</Window> 
+0

감사합니다 cotnrols와 함께 너비가 고정 된 문제였습니다. –

8

당신은 HorizontalScrollBarVisibility 및 자동에있는 ScrollViewer의 VerticalScrollBarVisibility을 설정해야합니다. 이것은 VS. 의해 생성 된 메인 화면의 내용을 대체

<Grid> 
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
     <Canvas Width="400" Height="400"> 
      <Button Canvas.Left="300">Left 300</Button> 
      <Button Canvas.Top="300">Top 300</Button> 
     </Canvas> 
    </ScrollViewer> 
</Grid> 

: 여기

은 일례이며

실행하고 창의 크기를 변경하고 최대화하면 스크롤 막대가 나타나거나 사라집니다.

관련 문제