Autor Beitrag
MacWale
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 05.04.10 13:24 
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?

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<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>


Ich könnte mir vorstellen, dass das über einen Converter laufen muss, aber ich keinen Ansatz, wie ich das machen muss.

Vielen Dank schonmal für jeden Tipp.

Mfg
MacWale
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 05.04.10 14:02 
:welcome:

Auf jeden Fall musst du deine Liste erst einmal indizieren, im einfachsten Fall also ein
ausblenden C#-Quelltext
1:
.Select((i, x) => new KeyValuePair<int, T>(i + 1, x))					

anhängen. Im Template kannst du dann
ausblenden XML-Daten
1:
2:
<Label Grid.Column="0" Content="{Binding Key}"></Label>
<TextBox Text="{Binding Value.Bezeichnung}" Grid.Column="1" Margin="1">

benutzen.

Ob du diese Transformation nun in einen ValueConverter oder doch lieber in eine View-Model-Property steckst, bleibt dir überlassen :) .

_________________
>λ=
MacWale Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 05.04.10 14:25 
Danke!!

Manchmal ist die Lösung total easy, man kommt nur nicht drauf.

Gruß
MacWale

Ps: Frohe Ostern