Laden...

Items in ItemControl durchnummerieren mit DataTemplate

Erstellt von MacWale vor 14 Jahren Letzter Beitrag vor 14 Jahren 744 Views
M
MacWale Themenstarter:in
37 Beiträge seit 2008
vor 14 Jahren
Items in ItemControl durchnummerieren mit DataTemplate

Hallo,

ich möchte Items in einem Itemcontrol durchnummerieren, bzw ich würde gerne den ListIndex + 1 auf dem Formular angezeigt haben. Ist das überhaupt möglich?


<GroupBox Header="{Binding Path=Bezeichnung}" Margin="5">
                                <ItemsControl   HorizontalContentAlignment="Stretch"  Margin="5"  DataContext="{Binding Path=Objekt}" ItemsSource="{Binding}"  >
                                    <ItemsControl.ItemTemplate >
                                        <DataTemplate >
                                            <Grid>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="20"></ColumnDefinition>
                                                    <ColumnDefinition Width="200"></ColumnDefinition>
                                                </Grid.ColumnDefinitions>
                                                <Label Grid.Column="0" Content="x."></Label>
                                                <TextBox Text="{Binding Path=Bezeichnung}" Grid.Column="1" Margin="1"></TextBox>
                                            </Grid>
                                        </DataTemplate>
                                    </ItemsControl.ItemTemplate>
                                </ItemsControl>
                            </GroupBox>

Vielen Dank schonmal für Tipps!

Gruß
MacWale

U
1.578 Beiträge seit 2009
vor 14 Jahren

Könnte mir das nur über ein Converter vorstellen.
Der Converter bekommt das Object, und noch als zusätzlichen Parameter das ItemsControl.

Im Converter werden alle Item Container durch gegangen und werden mit IsAncestorOf danach gefragt ob der jeweilige Container der richtige ist, wenn ja kann hat man dann auch die Position und kann so die Nummer zurück geben.