كيف يمكنك تطبيق ترجمة مقياس إلى مكتب رسم؟
سؤال
انا املك 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، بدلا من استخدام DAGALCONTEXT، قد يكون الشيء الصحيح الذي يجب القيام به هو إضافة TextBlock للأطفال إلى قماش، وقم بتغيير RENDERTRANSFORMORSFORM.
ومع ذلك، على افتراض أن لديك سبب وجيه لاستخدام مقدم رسم، يمكنك استخدامه DrawingContext.pushtransform. لدفع التحويل الذي تحتاجه (النطاق، الترجمة، إلخ)، فقط قبل استدعاء السحب. يستخدم DrawingContext.pop. لاستعادة الدولة السابقة بعد الانتهاء من السحب.
لا تنتمي إلى StackOverflow