Pregunta

Tengo un Canvas con una traducción de escala aplicado en XAML. Usando DrawingContext dibujo líneas en la Canvas. Ahora necesito añadir texto a la pantalla. Pensé con formatos de texto que pude aplicar una traducción, pero ninguno de texto con formato o DrawingContext acepta de RenderTransform. ¿Cómo solicito una traducción del texto a escala por lo que contrarrestará la traducción escala de la tela?

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

Solución

En la mayoría de aplicaciones de interfaz de usuario, en lugar de utilizar un DrawingContext, lo que hay que hacer podría ser añadir un TextBlock niño a la tela, y cambiar RenderTransform del TextBlock.

Sin embargo, suponiendo que tiene una buena razón para utilizar un DrawingContext, podría utilizar DrawingContext.PushTransform para impulsar la transformación que necesita (escala, traducción, etc.), justo antes de la invocación DrawText. Usar DrawingContext.Pop para restaurar el estado anterior después de que haya terminado con DrawText.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top