2009-09-08 11 views
12

मेरे व्यूमोडेल में मेरे पास आइटमों की एक सूची है जो मैं अपने विचार में ग्रिड चाहूंगा (आइटम ग्रिड बच्चे होंगे)। सूची आइटम के लिए दृश्य मॉडल की एक सूची है।आप एक ग्रिड के बच्चों को एक सूची में कैसे बांधते हैं?

आप सूची में ग्रिड कैसे बांधते हैं (मैं कोड में .children का उपयोग कर सकते हैं लेकिन xaml नहीं)? इसके अलावा, आप सूची में दृश्य मॉडल के लिए डेटा टेम्पलेट (अन्य xaml फ़ाइल) निर्दिष्ट कैसे करते हैं ताकि उन्हें ग्रिड के भीतर सही ढंग से प्रस्तुत किया जा सके।

धन्यवाद

उत्तर

22

एक ग्रिड को ItemsPanel सेट के साथ एक ItemsControl का उपयोग करें:

<ItemsControl ItemsSource="{Binding TheList}"> 
    <ItemsControl.ItemsPanel> 
    <ItemsPanelTemplate> 
     <Grid/> 
    </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
</ItemsControl> 

में ItemsControl के ItemContainerStyle, आप में से कुछ संपत्ति को Grid.Row और Grid.Column संलग्न गुण बाध्य करने के लिए चाहते हो सकता है आइटम:

<ItemsControl.ItemContainerStyle> 
    <Style TargetType="{x:Type FrameworkElement}"> 
     <Setter Property="Grid.Row" Value="{Binding RowIndex}"/> 
     <Setter Property="Grid.Column" Value="{Binding ColumnIndex}"/> 
    </Style> 
    </ItemsControl.ItemContainerStyle> 
+1

धन्यवाद। मैं भी मेरे सवाल का दूसरा हिस्सा पता लगा किसी और को भर आता है कि अगर यह <वी: ProductDetails />

+0

यदि आप जानते हैं कि आपको कितनी पंक्तियां और कॉलम चाहिए, तो यह एक इलाज है, लेकिन यदि आप अधिकतम पंक्ति/कॉलम जितना चाहते हैं तो क्या होगा? पंक्ति/कॉलम परिभाषाओं को स्वत: उत्पन्न करने का कोई तरीका है? –

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