2009-09-09 17 views
6

कैसे बना सकता हूं मैं जैसे ListBox फ़ंक्शन बनाना चाहता हूं। प्रत्येक बार जब कोई नया आइटम जोड़ा जाता है तो इसे एक नया GridRow जोड़ा जाना चाहिए (स्टार की ऊंचाई के साथ)। तो यदि दो आइटम हैं तो वे प्रत्येक उपलब्ध स्थान का आधा हिस्सा लेंगे। कुछ बिंदु पर Grid पंक्ति MinHeight आइटम की तुलना में छोटे और इस बिंदु पर Grid का विस्तार होगा किया जाएगा और धारक ScrollViewer में किक कर सकते हैं।मैं एक सूची बॉक्स Item खिंचाव वर्टिकल

आप एक ScrollViewer अंदर एक ग्रिड के साथ इस व्यवहार देखेंगे। हालांकि, मुझे इसे ListBox के साथ काम करने की आवश्यकता है, इसलिए मैं ItemsSource सेट कर सकता हूं, DataTemplate बनाएं और आगे बढ़ें।

डिफ़ॉल्ट ListBoxItemsPanel के साथ समस्या यह है कि यह मेरे पहले आइटम को सभी उपलब्ध स्थान को भरने के लिए विस्तारित नहीं करेगा।

अद्यतन: यहाँ यह काम कर पाने के कोड है:

<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <UniformGrid Columns="1"></UniformGrid> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 

उत्तर

1

यह इतना पोस्ट कुछ बहुत अच्छी जानकारी है कि अपनी पोस्ट के लिए प्रासंगिक लगती है WPF - Why Listbox items do not fill uniformgrid

+0

धन्यवाद कि मदद की है, मैं का उपयोग नहीं करते वर्दी ग्रिड बहुत ज्यादा मैंने कभी सोचा नहीं। – Kelly

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