में क्षैतिज विस्तार से किसी पाठ बॉक्स मैं निम्नलिखित शैली मेरी App.xamlरोकें WPF
<Style x:Key="textBoxMultiline" TargetType="{x:Type TextBox}" >
<Setter Property="VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="HorizontalScrollBarVisibility" Value="Hidden" />
<Setter Property="MinHeight" Value="50" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
में और समाधान हर पाठ बॉक्स में एक संक्षिप्त पाठ की जरूरत है पर हम इसे प्रयोग कर रहे हैं भर में परिभाषित किया गया है।
<TextBox x:Name="textBoxDescription" Grid.Row="2" Grid.Column="1" Style="{DynamicResource textBoxMultiline}" />
सब कुछ अच्छा काम करता है, लेकिन फिर ग्राहक के बारे में कुछ क्षेत्रों कम रिज़ॉल्यूशन वाले बड़े मॉनिटर पर corped थे शिकायत करता है, तो मैं उच्च दृश्य पेड़ नोड्स corping को रोकने के लिए में से एक पर एक ScrollViewer
रखा।
<ScrollViewer Height="Auto" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
...
</ScrollViewer>
अजीब, ऊपर शैली के साथ TextBox
तों बजाय सही करने के लिए विस्तार हो रहा पाठ लपेटकर शुरू करते हैं।
ScrollViewer
को हटाए बिना इसे रोकने का कोई तरीका है?
मैं अलग चौड़ाई की बक्सें साथ कि शैली का उपयोग कर रहा करने के लिए
जोड़ सकते हैं। मैं थोड़ी सी सामान्य समाधान की तलाश कर रहा था जैसे टेक्स्टबॉक्स टेम्पलेट को ओवरराइड करना, निश्चित चौड़ाई को शामिल करने के लिए और उस पाठ तत्व वास्तविकता को उस नई तत्व चौड़ाई में बाध्य करना। यह बहुत अधिक प्रबलता प्रतीत होता है, लेकिन मैं ऐसा कुछ ढूंढ रहा था जो केवल टेक्स्टबॉक्स शैली को बदलता है। – dcarneiro
आप जो कर रहे हैं वह कुछ हद तक विरोधाभासी है। आपके पास टेक्स्टबॉक्स चौड़ाई में सीमित होगा, फिर आप उसे एक स्क्रॉलव्यूअर के भीतर रखेंगे जिसमें एक असीमित क्षैतिज स्थान ("ऑटो") होगा। आप इसे हल कर सकते हैं, लेकिन कोई सामान्य तरीका नहीं है। आपको स्क्रॉलव्यूवर के वास्तविक वाइड और टेक्स्टबॉक्स की (अधिकतम) चौड़ाई से बाध्यकारी बनाना चाहिए। समस्या यह है कि आपको ऑफसेट और अन्य सामानों को ध्यान में रखने के लिए एक कनवर्टर जोड़ना होगा (मेरे लिए बहुत परेशान करना)। –
क्षैतिज स्क्रॉलबार एक हैक था क्योंकि अन्य नियंत्रण कम संकल्प स्क्रीन पर फसल लगाए गए थे। मैंने टेक्स्टबॉक्स चौड़ाई को एक ही चौड़ाई के तत्व पर बांधने की कोशिश की (उसी शैली के साथ एक ही ग्रिड सेल पर एक और टेक्स्टबॉक्स लेकिन छुपा) और यह काम किया। लेकिन फिर मैंने पाया कि टेक्स्टब्लॉक जहां टेक्स्ट को लपेटने के बजाय जानकारी क्षैतिज रूप से फैली हुई थी। यह मुझे बताता है कि क्षैतिज स्क्रॉलबार टेक्स्टवैपिंग संपत्ति पर प्राथमिकता लेता है। तो मुझे लगता है कि मुझे कम स्क्रीन संकल्पों का समर्थन करने के लिए यूआई को फिर से डिजाइन करना होगा। – dcarneiro