2009-07-08 2 views
2

У меня есть Canvas с трансляцией шкалы, применяемой в XAML. Используя DrawingContext Я рисую линии на Canvas. Теперь мне нужно добавить текст на экран. Я думал, что с форматированным текстом я могу применить перевод, но ни форматированный текст, ни DrawingContext не принимают RenderTransform. Как применить масштабный перевод к тексту, чтобы он препятствовал трансляции на шкале холста?Как применить масштабный перевод к 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 на холсте, и изменить RenderTransform в TextBlock в.

Однако, предполагая, что у вас есть веская причина для использования DrawingContext, вы можете использовать DrawingContext.PushTransform, чтобы нажать преобразование, которое вам нужно (масштаб, перевод и т. Д.), Непосредственно перед вызовом DrawText. Используйте DrawingContext.Pop для восстановления предыдущего состояния после завершения DrawText.

Смежные вопросы