2009-07-20 20 views
11

मेरा ListBox अन्य चीजों के साथ एक विवरण फ़ील्ड है जो काफी लंबा हो सकता है। एक क्षैतिज स्क्रॉल बार होने के बजाय मैं इसे लपेटना चाहता हूं। यह काम करता है अगर मैं MaxWidth सेट करता हूं लेकिन ListBox परिवर्तन आकार के बाद से मैं मूल्य को हार्ड कोड नहीं करना चाहता हूं।डब्ल्यूपीएफ सूची बॉक्स आइटम

ऐसा करने का सबसे अच्छा तरीका क्या है?

संपादित करें: विवरण TextBlock में है।

सरलीकृत XAML (निकाला गया unnessesary सामान, अभी भी पता चलता समस्या:

<ListBox 
    Name="lstTasks" 
    BorderThickness="0" 
    Padding="5" 
    HorizontalContentAlignment="Stretch"> 

इसके अलावा, आप क्षैतिज अक्षम करने का प्रयास हो सकता है:

  <ListBox BorderThickness="0" Padding="5" Name="lstTasks"> 
      <ListBox.ItemsSource> 
       <Binding Source="{StaticResource dataTasks}"/> 
      </ListBox.ItemsSource> 

      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid> 
         <TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" /> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
+0

चूंकि आपने कहा है कि मैक्सविड्थ सेट करने के लिए काम करेगा, मैक्सविड्थ को बाध्य करने के बारे में कैसे कुछ चौड़ाई बदल रहा है? –

उत्तर

29

अपने ListBoxItems की चौड़ाई के लिए मजबूर कर ListBox की चौड़ाई होना करने के लिए प्रयास करें स्क्रॉलिंग:

<ListBox 
    ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
    ...> 
+2

धन्यवाद, स्क्रॉल बार को अक्षम करने से तुरंत इसे ठीक किया गया। –

+0

धन्यवाद - अक्षम करने के लिए भी मेरे लिए काम किया। –

+0

यदि यह आपके लिए काम करता है, तो ऊपर। स्टैक टिप्पणियां eBay रेटिंग नहीं हैं। – Gusdor

0

रैपिंग और tr का उपयोग करने का अर्थ नहीं है एक साथ imming। आपको उनमें से एक टेक्स्टट्रिमिंग या टेक्स्ट स्क्रैपिंग का उपयोग करना चाहिए। यह trims यह लपेटता नहीं है।

मैट जवाब textwrapping लिए ट्रिमिंग आप चौड़ाई या maxwidth संपत्ति के मूल्य परिभाषित करना चाहिए के लिए सही है।

एसएल डेवलपर्स के लिए यह बिल्कुल वही है।

संबंधित मुद्दे