मेरे पास एक WPF DataGrid
ObservableCollection
से जुड़ा हुआ है। मेरे संग्रह में प्रत्येक आइटम में संपत्ति है जो List<someObject>
है। मेरी पंक्ति विवरण फलक में, मैं इस संग्रह में प्रत्येक आइटम के लिए स्वरूपित टेक्स्ट ब्लॉक लिखना चाहता हूं। अंतिम परिणाम कुछ के बराबर होगा:डब्ल्यूपीएफ पुनरावर्तक (जैसे) संग्रह स्रोत के लिए नियंत्रण?
<TextBlock Style="{StaticResource NBBOTextBlockStyle}" HorizontalAlignment="Right">
<TextBlock.Inlines>
<Run FontWeight="Bold" Text="{Binding Path=Exchanges[0].Name}" />
<Run FontWeight="Bold" Text="{Binding Path=Exchanges[0].Price}" />
<LineBreak />
<Run Foreground="LightGray" Text="{Binding Path=Exchanges[0].Quantity}" />
</TextBlock.Inlines>
</TextBlock>
<TextBlock Style="{StaticResource NBBOTextBlockStyle}">
<TextBlock.Inlines>
<Run FontWeight="Bold" Text="{Binding Path=Exchanges[1].Name}" />
<Run FontWeight="Bold" Text="{Binding Path=Exchanges[1].Price}" />
<LineBreak />
<Run Foreground="LightGray" Text="{Binding Path=Exchanges[1].Quantity}" />
</TextBlock.Inlines>
</TextBlock>
और 0-एन बार पर।
मैं इसके लिए ItemsControl
का उपयोग कर की कोशिश की है:
<ItemsControl ItemsSource="{Binding Path=Exchanges}">
<DataTemplate>
<Label>test</Label>
</DataTemplate>
</ItemsControl>
हालांकि, यह केवल, अधिक स्थिर स्रोतों के लिए किया जाना है के रूप में यह निम्न अपवाद फेंकता (संग्रह निर्माण के बाद बदला नहीं गया है) प्रकट होता है:
आइटम नियंत्रण ऑपरेशन मान्य नहीं है जबकि आइटमसोर्स उपयोग में है। आइटम्स कंट्रोल के साथ तत्वों को एक्सेस और संशोधित करें। इसके बजाय *
क्या यह हासिल करने का कोई और तरीका है?
ItemsControl ठीक होना चाहिए। आइटम्स कंट्रोल की आइटम प्रॉपर्टी का उपयोग करते समय आपको आमतौर पर यह त्रुटि मिलती है जबकि आपके आइटमसोर्स बाध्य होते हैं, क्या यह मामला हो सकता है? –