두 개의 TextBlock 컨트롤 (스택)과 그 아래에 다른 요소가있는 WPF DataTemplate이 있습니다. 일부 복잡한 레이아웃 코드로 인해 두 개의 TextBlock 요소의 높이를 알아야 멋진 연결선을 그릴 수 있고 다른 컨트롤 등을 정렬 할 수 있습니다.렌더링되기 전에 WPF에서 TextBlock의 크기를 어떻게 측정합니까?
TextBlocks로 들어갈 텍스트를 알고 있다면 , 그리고 실제로 글꼴을 렌더링하지 않고 이러한 TextBlocks의 높이를 계산하거나 측정 할 수있는 방법이 글꼴 등을 알고 있습니까?
+1하지만 일반적인 글꼴과 글꼴 크기 외에도 [글꼴 힌팅에 영향을주는] (상속 된) 첨부 속성이 있습니다 (http://blogs.msdn.com/b/text). /archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx) (전체 픽셀에 정렬할지 여부), 이는 텍스트의 너비에 영향을줍니다. 연결된 속성은'TextOptions.FormattingMode'입니다. - 측정중인 객체의이 속성 값이 렌더링중인 객체의 값과 일치하는지 확인하십시오 (동일하지 않은 경우). – Cameron
그냥 같은 문제가있어서'textblock.Measure (new Size());를 호출하면 충분하지 않습니다. 'textblock.DesiredSize'에 대한 결과를 얻으려면'textblock.Measure (new Size (double.PositiveInfinity, double.PositiveInfinity));'를 사용해야했습니다. – metacircle
'MinWidth'를 0으로 설정해야하고,'MaxWidth '측정하기 전에 PositiveInfinity로 설정하십시오. 그렇지 않으면 해당 값으로 제한됩니다. – zmechanic