2009-07-08 7 views
2

XAML에 축척 변환이 적용된 Canvas이 있습니다. DrawingContext을 사용하여 Canvas에 선을 그립니다. 이제 화면에 텍스트를 추가해야합니다. 형식이 지정된 텍스트를 사용하여 번역을 적용 할 수 있다고 생각했지만 DrawingContextRenderTransform을 허용하지 않습니다. 캔버스의 저울 번역에 어긋나지 않도록 텍스트에 스케일 번역을 적용하려면 어떻게해야합니까? 대부분의 UI 애플리케이션에서스케일 변환을 DrawingContext에 어떻게 적용합니까?

ftext = New FormattedText("N", CultureInfo.GetCultureInfo("en-us"), Windows.FlowDirection.LeftToRight, face, Me.DBFontSize, FalconDataBlock.Foreground) 
context.DrawText(ftext, .TargetLineInfo.EndAsWinPoint) 

답변

7

대신 DrawingContext를 사용하는 옳은 일이 캔버스에 자식 TextBlock을 추가하고, TextBlock이의으로 RenderTransform을 변경할 수 있습니다.

그러나 DrawingContext를 사용해야하는 이유가 있다고 가정하면 DrawText를 호출하기 전에 DrawingContext.PushTransform을 사용하여 필요한 변형 (배율, 변환 등)을 푸시 할 수 있습니다. DrawText를 끝내면 DrawingContext.Pop을 사용하여 이전 상태로 복원하십시오.

관련 문제