我有在XAML施加规模翻译Canvas。使用DrawingContext我画上了Canvas线。我现在需要添加文本到屏幕上。我想用格式的文本,我可以申请一个翻译,但既不格式文本或DrawingContext接受RenderTransform。我该如何申请一个规模翻译文本,以便它会对抗画布的规模翻译?

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

解决方案

在大多数UI应用程序,而不是使用的DrawingContext,做正确的事情可能是一个孩子的TextBlock添加到画布上,并改变TextBlock中的的RenderTransform。

但是,假设你有一个很好的理由使用的DrawingContext,你可以使用的 DrawingContext.PushTransform 推变换需要(规模,翻译等),可以调用的DrawText之前。使用 DrawingContext.Pop 恢复你使用的DrawText完成后之前的状态。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top