2012-05-11 2 views
9
TextBlock tbl= new TextBlock(); 
tbl.text="Kishore"; 

double x=tbl.ActualHeight; 
double y=tbl.ActualWidth; 

로드 된 이벤트의 코드를 Metro에서 실행하면 winRT는 둘 다 0을 반환합니다.코드에서 textblock을 만들면로드시 텍스트 보크 높이와 너비를 계산하는 방법은 무엇입니까?

Loaded 또는 SizeChanged 이벤트에서 ActualWidth을 어떻게 얻을 수 있습니까?

+0

WPF에는 arrange/measure와 같은 메서드가 있었지만 사용 가능한 공간을 주었고 결과로 차원을 얻었습니다. 목성에 비슷한 것이 없습니까? –

답변

10

Measure() 다음 Arrange()으로 전화 한 다음 ActualWidthActualHeight이 업데이트됩니다. 여러 개체의 높이와 폭을 계산할 때

+0

먼저 Measure가 호출 된 다음 Arrange가 호출됩니다. – HCL

+0

물론 이죠! –

0
TextBlock tbl = new TextBlock(); 
tbl.Text = "Kishore"; 

tbl.Measure(new Size(0, 0)); 

double x = tbl.ActualHeight; 
+1

약간의 설명이 도움이 될 수 있습니다. –

1

UpdateLayout(); 
testBlock.ActualWidth 

를 통해이 유용 할 수 할 수도 있습니다.

+0

내 문제가 해결되었습니다. 감사합니다. – hushyon

관련 문제