2011-09-25 24 views
25

डिफ़ॉल्ट रूप से एक WPF TextBlock अतिरिक्त शीर्ष और नीचे पैडिंग लागू होता है। काश यह ऐसा नहीं था।WPF टेक्स्टब्लॉक से अतिरिक्त पैडिंग को कैसे निकालें?

  • मैं नकारात्मक गद्दी स्थापित करने की कोशिश की है, लेकिन कोई अपवाद मिल गया:

    0, -10,0,0 पैडिंग 'संपत्ति के लिए मान्य मान नहीं है' '।

  • मैं, LineHeight संपत्ति की स्थापना कोई स्पष्ट प्रभाव के लिए कोशिश की है।

इस प्रकार टेक्स्टब्लॉक ब्लेंड में दिखता है। मैंने मैरून लाल के साथ समस्याग्रस्त हिस्से को चिह्नित किया है।

the red area should be removed

+2

यदि आपके पास कोई जवाब है तो आपको इसे इस तरह पोस्ट करना चाहिए, उत्तर * नहीं * प्रश्न में हैं, यह भी सुनिश्चित करने के बाद इसे स्वीकार करना सुनिश्चित करें। –

उत्तर

38

कुछ शोध और H.B. मुझे सही जवाब है, जो निम्नलिखित गुण स्थापित कर रही है करने के लिए निर्देशित:

<TextBlock LineStackingStrategy="BlockLineHeight" 
      LineHeight="20"/> <!-- Or some other value you fancy. --> 
+0

+1 इसके लिए धन्यवाद। बीटीडब्लू, जानबूझकर ऊपर की पहली पंक्ति के अंत में अल्पविराम है? – Sabuncu

8

यह शायद जो Segoe UI डिफ़ॉल्ट रूप से है फॉन्ट का हिस्सा है, के बजाय उदाहरण के लिए Segoe प्रयास करें। (आप नकारात्मक गद्दी असाइन नहीं कर सकते, लेकिन आप नकारात्मक Margins आवंटित कर सकते हैं, जैसे: Margin="0,-3,0,0")

3

यह अंतरिक्ष पैडिंग नहीं है, लेकिन फ़ॉन्ट का हिस्सा है, ऊपर और नीचे अक्षरों के लिए आरक्षित है।

स्वीकृत उत्तर लाइन ऊंचाई की तुलना में रेखा की ऊंचाई को छोटा बनाता है।

+1

यह एक टिप्पणी के रूप में बेहतर हो सकता है –