2014-01-20 2 views
1

wpf의 캔버스를 자동 크기 조정하려면 어떻게해야합니까? 나는 scrollviewer에 캔버스를 가지고 있으며이 캔버스에 몇 개의 버튼과 선을 코드에 추가 할 것입니다. 왜냐하면 저는 버튼의 위치를 ​​알지 못하기 때문에 캔버스의 너비와 높이에 대해 매우 큰 숫자를 하드 코딩해야합니다. 너무 많은 버튼을 추가하면 일부만 보여줄 수 있습니다.캔버스를 wpf로 자동 크기 조정

너비와 높이를 자동으로 설정하려고 시도하지만 작동하지 않습니다. 어떤 고유 한 레이아웃 특성이 없기 때문에

<Grid> 
     <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"> 
      <Canvas Width="Auto" Height="Auto" Name="cv1"></Canvas> 
     </ScrollViewer> 
    </Grid> 
+0

중복 질문 : http://stackoverflow.com/questions/855334/wpf-how-to-make-canvas-auto-resize?lq=1 –

답변

1

Canvas 요소는 자동으로 크기가 조정되지 않을 수있는 유일한 요소입니다. 자식 요소가 들어올 때 Control의 크기를 조정하려면 Grid에서 파생되는 것을 사용할 수 있습니다. Canvas ans 대신 원하는 부분을 채우십시오. UniformGrid을 사용해보세요. UniformGrid에 의해 처리되는 레이아웃 제약 조건없이 요소를 추가 할 수 있습니다. 그렇지 않으면 간단한 Grid을 사용하는 경우 각 하위 요소의 Margin 속성을 설정하여 요소의 위치를 ​​정의해야합니다.

희망이 도움이됩니다.

+0

@josiah 내 대답이 도움이 되었습니까? – jhontarrede