2009-02-11 12 views
6

यह समस्या मेरी TextBlock पाने के लिए रैप करने के लिए सक्षम नहीं होने की वजह से उपजी। असल में आखिरी खाई के प्रयास के रूप में मैं अपने कंटेनर ग्रिड के कॉलम पर मैक्सविड्थ सेट कर रहा हूं। मुझे यह जानकर आश्चर्य हुआ कि मेरा बच्चा लेबल और टेक्स्टबॉक्स अभी भी जो कुछ भी चाहता है (खराब बच्चे, बीएडी) करता है और मेरे ग्रिड कॉलम के मैक्सविड्थ = "200" तक सीमित नहीं है।WPF ग्रिड कॉलम MaxWidth लागू नहीं

क्या मैं सच में ऐसा करने की कोशिश कर रहा हूँ मेरी TextBlock उपलब्ध चौड़ाई को भरने और रैप यदि आवश्यक हो जाने है। ब्रह्मांड में हर ज्ञात माता-पिता पर क्षैतिज चेतावनी = "खिंचाव" की कई भिन्नताओं को आजमाए जाने के बाद, कोई स्पष्ट मैक्सविड्थ = "400" या टेक्स्टब्लॉक पर जो भी संख्या सेट करने के अलावा कुछ भी काम नहीं करता है। यह अच्छा नहीं है क्योंकि मुझे उपलब्ध चौड़ाई को भरने के लिए टेक्स्टब्लॉक की आवश्यकता है, कुछ निश्चित संख्या से सीमित नहीं है। धन्यवाद!

<ItemsControl> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel /> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition MaxWidth="200" SharedSizeGroup="A" /> 
       <ColumnDefinition MaxWidth="200" SharedSizeGroup="B" /> 
      </Grid.ColumnDefinitions> 

      <Label VerticalAlignment="Top" Margin="0 5 0 0" Grid.Column="0" Style="{StaticResource LabelStyle}" Width="Auto" Content="{Binding Value.Summary}" /> 
      <TextBlock Grid.Column="1" Margin="5,8,5,8" FontWeight="Normal" 
         Background="AliceBlue" 
         Foreground="Black" Text="{Binding Value.Description}" 
         HorizontalAlignment="Stretch" 
         TextWrapping="Wrap" Height="Auto" /> 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

उत्तर

2

मैं Kaxaml करने के लिए अपने ग्रिड तत्वों के बीच सब कुछ चिपका कर अपने समस्या को दोहराने की कोशिश की है, लेकिन सब कुछ लपेटता के रूप में आप इसे करने के लिए उम्मीद करेंगे। (मैंने नियमित स्ट्रिंग डाली जहां आप बाइंडिंग कर रहे थे और लेबल शैली को हटा दिया था)।

यह हो सकता है समस्या पेड़ पर अधिक है।

मैं Kaxaml करने के लिए या का परीक्षण और देखो जो माता-पिता अपने यूआई टूट जाता है के समान में चिपकाने हिस्सा सुझाव देना चाहेंगे।

1

मैं एक ItemsControl के बजाय इस प्रश्न का उत्तर प्रदान की है, केवल यह एक ListView उपयोग कर रहा था, लेकिन समस्या संभवत: एक ही है। शायद आपके आइटम प्रेजेंटर के आस-पास एक स्क्रॉलव्यूअर है और आपको आइटम्स कंट्रोल टेम्पलेट की एक प्रति संपादित करने की आवश्यकता है।

WPF ListView TextBlock TextWrapping