Ich habe eine WPF DataGrid
gebunden an ObservableCollection
. Jedes Objekt in meiner Sammlung hat eine Eigenschaft, die eine List<someObject>
ist. In meinem Zeilen-Detailfenster möchte ich für jedes Element in dieser Sammlung formatierte Textblöcke schreiben. Das Endergebnis wäre etwas wie:WPF Repeater (like) Kontrolle für Sammelquelle?
<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>
und so weiter 0-n mal.
Ich habe versucht mit ItemsControl
dafür:
<ItemsControl ItemsSource="{Binding Path=Exchanges}">
<DataTemplate>
<Label>test</Label>
</DataTemplate>
</ItemsControl>
jedoch scheint dies nur für mehr statische Quellen gedacht werden, wie es die folgende Ausnahme auslöst (Sammlung wird nach der Erstellung nicht verändert):
ItemsControl Operation ist nicht gültig, während ItemsSource verwendet wird. Auf Elemente mit ItemsControl.ItemsSource zugreifen und sie ändern *
Gibt es eine andere Möglichkeit, dies zu erreichen?
Die Items sollten in Ordnung sein. Dieser Fehler tritt normalerweise auf, wenn Sie die Items-Eigenschaft von ItemsControl verwenden, während Ihre ItemsSource gebunden ist. Könnte dies der Fall sein? –