2009-03-19 7 views
2

캔버스 안에 테두리가 있습니다. 테두리의 높이/너비는 내용에 따라 다릅니다. 나는 테두리가 전체 캔버스를 채우기 위해 펼쳐 지길 원합니다. 어떻게해야합니까?WPF - 테두리를 캔버스에 고정시키는 방법?

나는 성공없이 국경에서이 작업을 시도했다 :

Height="{Binding ElementName=MainCanvas, Path=Height}" 
Width="{Binding ElementName=MainCanvas, Path=Width}" 
+1

왜 그냥 캔버스를 테두리 안에 넣지 않으시겠습니까? 그럼 당신은 여분의 바인딩을 할 필요가 없을 것입니다. –

답변

8

캔버스가 명시 적으로 높이/폭이 있습니까? 자동 크기 조정이 가능하며 높이/너비가 double.NaN입니다.

은과 같이 캔버스의 ActualHeight 및 ActualWidth에 자식 높이/폭을 결합하십시오 :

Height="{Binding ElementName=MainCanvas, Path=ActualHeight}" 
Width="{Binding ElementName=MainCanvas, Path=ActualWidth}" 

캔버스 패널은 아이들이 HorizontalAlignment.Stretch로 설정하는 경우에도, 자신의 크기로 사이즈 기준으로 아이들을 말하지 않을 (또는 수직). 그래서 바인딩이 좋은 해결책입니다.

+0

고마워요 조쉬! Height/Width가 아니라 ActualHeight/ActualWidth가 필요했습니다. –

관련 문제