DrawingContext にスケール変換を適用するにはどうすればよいですか?
質問
私は持っています Canvas
XAML でスケール変換が適用されます。使用する 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 を Canvas に追加し、TextBlock の RenderTransform を変更するのが正しい方法である可能性があります。
ただし、DrawingContext を使用する正当な理由があると仮定すると、次のように使用できます。 DrawingContext.PushTransform DrawText を呼び出す直前に、必要な変換 (スケール、変換など) をプッシュします。使用 DrawingContext.Pop DrawText を使い終わった後に前の状態に戻すには、
所属していません StackOverflow