WPF Textblock zoom and wrap -


मेरे पास एक टेक्स्टब्लॉक है जो

  1. अधिकतम फ़ॉन्ट आकार में पाठ को संभवतः भीतर दिखाएं
  2. दिए गए स्थान (कम अक्षर बड़ा अक्षर और उप-विपरीत)
  3. दिए गए स्थान के भीतर पाठ लपेटो।

मैंने नीचे की तरह एक दृश्य बॉक्स के अंदर एक टेक्स्टबॉक्स का उपयोग करने की कोशिश की, लेकिन टेक्स्ट-लपेटन काम नहीं करता अगर मैं टेक्स्टब्लॉक चौड़ाई और ऊंचाई निर्दिष्ट नहीं करता अगर मैं चौड़ाई और ऊंचाई को उसी आकार के दृश्यबॉक्स के रूप में निर्दिष्ट करता हूं, तो स्पष्ट रूप से ज़ूमिंग नहीं होता है।

  & lt; Viewbox Stretch = "भरें" चौड़ाई = "100" ऊँचाई = "100 "& gt; & Lt; TextBlock TextWrapping = "wrap" / & gt; & Lt; / Viewbox & gt;  

क्या इसको प्राप्त करने का कोई अन्य तरीका है? या क्या मुझे टेक्स्ट की मात्रा के आधार पर मैन्युअल रूप से फ़ॉन्ट आकार बढ़ाने के लिए एक एल्गोरिथ्म लिखना चाहिए? कोई भी मदद की सराहना की जाती है।

यह कोड आज़माएं।

XAML:

<प्री> & lt; TextBlock x: name = "textBlock" text = "कुछ पाठ" टेक्स्टवॉपिंग = "लपेटें" फ़ॉन्टसिसेज = "1" चौड़ाई = "100" अस्पष्टता = "0" / & gt;

पीछे कोड:

  जबकि (textBlock.ActualHeight & lt; = 100) {textBlock.FontSize + = 0.1; textBlock.UpdateLayout (); } TextBlock.FontSize - = 0.1; TextBlock.Opacity = 1;  

Comments