2

我有一个Canvas在 XAML 中应用的比例转换。使用DrawingContextI 在Canvas. 我现在需要在屏幕上添加文本。我认为使用格式化文本可以应用翻译,但既不格式化文本也不DrawingContext接受RenderTransform。如何对文本应用比例平移,以抵消画布的比例平移?

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

1 回答 1

7

在大多数 UI 应用程序中,不使用 DrawingContext,正确的做法可能是将子 TextBlock 添加到 Canvas,并更改 TextBlock 的 RenderTransform。

但是,假设您有充分的理由使用 DrawingContext,您可以在调用 DrawText 之前使用DrawingContext.PushTransform推送您需要的变换(缩放、平移等)。完成 DrawText 后,使用DrawingContext.Pop恢复之前的状态。

于 2009-07-08T19:53:33.433 回答