2011-06-23 2 views
28

रखकर WPF में पाठ को घुमाने के लिए कैसे मैं एक टेक्स्ट वर्टिकल रखना चाहता हूं। मैं सिर्फ क्षेत्रों को स्वत: आकार देने के लिए डब्ल्यूपीएफ में एक साधारण ग्रिड का उपयोग करता हूं। लेकिन RotateTransform का उपयोग करते समय, सभी गणना गलत हैं। कुछ पता है इसे कैसे हल करना है?स्वत: आकार देने का फ़ंक्शन

 <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 

WPF rotate text इस छवि में आप देख मैं क्या मतलब है। अगर अब मैं मध्य भाग को स्वतः आकार देना चाहता हूं तो मैं "चौड़ाई" या "ऊंचाई" संपत्ति का उपयोग नहीं कर सकता क्योंकि दोनों गलत आकार के परिणाम उठाएंगे। चौड़ाई = 120 पीएक्स क्षैतिज (मूल) चौड़ाई बढ़ाएगा और पूरी पंक्ति 120 पिक्सल बना देगा। ऊंचाई = 120 पीएक्स पाठ 120 पिक्सल ऊंचाई बना देगा।

उत्तर

62

RenderTransform के बजाय LayoutTransform का उपयोग करें। यह लेआउट पास के दौरान लागू होता है, प्रतिपादन के दौरान नहीं।

+0

मैं इस इस्तेमाल कभी नहीं किया। त्वरित उत्तर के लिए बहुत बहुत धन्यवाद !!! – Nasenbaer

+0

मिश्रण में, यह कुछ हद तक "गुना के नीचे" है - जिसका अर्थ है कि आप डिफ़ॉल्ट रूप से रेंडरट्रांसफॉर्म देखते हैं और लेआउटट्रांसफॉर्म देखने के लिए ट्रांसफॉर्म पैनल का विस्तार करना होगा। मैंने इसे कभी नहीं देखा होगा, लेकिन यकीन है कि यह लगभग सादा दृष्टि में छिप रहा है। –

+0

@ राहेल यूडब्ल्यूपी लेआउटट्रांसफॉर्म का उपयोग कर सकता है? – quangkid

1
<TextBlock Height="14" 
    x:Name="TextBlock1" 
    Text="Vertical Bottom to Up" Margin="73,0,115,0" RenderTransformOrigin="0.5,0.5" > 
    <TextBlock.RenderTransform> 
     <TransformGroup> 
      <ScaleTransform/> 
      <SkewTransform/> 
      <RotateTransform Angle="-90"/> 
      <TranslateTransform/> 
     </TransformGroup> 
    </TextBlock.RenderTransform> 
</TextBlock> 
22

राहेल की तरह कहा उपयोग LayoutTransform

<TextBlock Text="Goodday" > 
    <TextBlock.LayoutTransform> 
    <RotateTransform Angle="90" /> 
    </TextBlock.LayoutTransform> 
</TextBlock>