2013-02-14 10 views
14

मेरे पास उपयोगकर्ता नियंत्रण है जो मूल तत्व है ग्रिड है।WPF स्वत: आकार बदलें फ़ॉन्ट जब तक यह मूल नियंत्रण में फिट बैठता है

मेरे पास एक ContentControl भी है जो डेटा लोड होने पर भरने वाले कुछ पाठ के लिए प्लेसहोल्डर के रूप में कार्य करता है। इस नियंत्रण को उपयोगकर्ता नियंत्रण में चारों ओर स्थानांतरित किया जा सकता है और इसलिए यह स्थिति कहीं भी हो सकती है।

यदि पाठ उपयोगकर्ता नियंत्रण के रूट ग्रिड के भीतर फिट होने में बहुत लंबा है, तो मैं सामग्री फिट होने तक सामग्री नियंत्रण के फ़ॉन्ट आकार को कम करना चाहता हूं।

मेरी समस्या यह है कि मुझे ऐसा कोई प्रतीत नहीं होता है जिसे मैं इस प्रक्रिया को करने के लिए संभाल सकता हूं। मैंने ContentControl.LayoutUpdated ईवेंट का उपयोग करने का प्रयास किया, हालांकि, इसके लिए प्रेषक पैरामीटर हमेशा कुछ भी नहीं प्रतीत होता है ... जो वास्तव में सहायक नहीं है!

मैं वास्तव में इसे प्राप्त करने के तरीके पर किसी भी सलाह की प्रतीक्षा कर रहा हूं।

आप

-Frinny

+4

आप एक ViewBox कि स्केल करेगा साथ ContentControl घेर सकता है ग्रिड में फिट करने के लिए ContentControl। क्या यह एक विकल्प है? –

उत्तर

28

रैपिंग धन्यवाद अपने ContentControl एक Viewbox सेट में करने के लिए केवल नीचे पैमाने पर आप के लिए यह करना होगा:

<Viewbox StretchDirection="DownOnly" Stretch="Uniform"> 
    <ContentControl Content="Some Text"/> 
</Viewbox> 
संबंधित मुद्दे