كسر الخط التلقائي في تسمية WPF
-
21-09-2019 - |
سؤال
هل من الممكن WPF Label
لتقسيم نفسها تلقائيا إلى عدة خطوط؟ في المثال التالي ، يتم اقتصاص النص على اليمين.
<Window x:Class="..." xmlns="..." xmlns:x="..." Height="300" Width="300">
<Grid>
<Label>
`_Twas brillig, and the slithy toves did gyre and gimble in the wabe:
all mimsy were the borogoves, and the mome raths outgrabe.
</Label>
</Grid>
</Window>
أفعل شيئا خاطئا؟
إن أخذ عناصر تحكم أخرى ليس للأسف خيارًا جيدًا ، لأنني بحاجة إلى دعم مفاتيح الوصول.
استبدال Label
مع TextBlock
(نأخذ TextWrapping="Wrap"
) ، وضبط قالب التحكم الخاص به للتعرف على مفاتيح الوصول ربما يكون حلاً ، لكن أليس من المبالغة؟
تحرير: إن وجود نمط غير قياسي للتسمية سيؤدي إلى كسر البكارة ، لذلك أود تجنب ذلك ، إن أمكن.
المحلول
يبدو أن استخدام كل من التسمية و SextBlock معًا هو الإجابة الصحيحة. هناك Howto الموجود هنا يوضح هذه المسألة الدقيقة.
على وجه التحديد ، في مثالهم ، للحصول على نص لف ومفتاح الوصول:
<Label Width="200" HorizontalAlignment="Left"
Target="{Binding ElementName=textBox1}">
<AccessText TextWrapping="WrapWithOverflow">
_Another long piece of text that requires text wrapping
goes here.
</AccessText>
</Label>
لا تنتمي إلى StackOverflow