2012-03-11 12 views
0

私はローカル高得点(ObservableCollection)のセットを持っており、それらを表示できるようにListBoxにバインドされたデータです。ここに私が現在持っていることは、最初のTextBlockの「{Binding Index}」は現在のアイテムのインデックスを取得しようとしているところですが、データバインドで可能かどうかは完全にはわかりません。データはリストボックス内の項目のインデックスにバインドされますか?

<ListBox Grid.Row="1" x:Name="localScoresListBox" ItemsSource="{Binding}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="90" /> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="100" /> 
       </Grid.ColumnDefinitions> 

       <TextBlock Text="{Binding Index}"  Grid.Column="0" /> 
       <TextBlock Text="{Binding PlayerName}" Grid.Column="1" /> 
       <TextBlock Text="{Binding Score}"  Grid.Column="2" /> 
      </Grid> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

私の質問です。データバインディングを使用して、現在のアイテムのインデックスを取得できますか?

0ベースで、最初のランクを0ではなく1にしたいので、{Binding Index + 1}のようにすることはできますか?

EDIT:同様の質問はWPFのためにここにありますし、どちらか、それを行う方法があるように思えませんでした:WPF ListBox bind to index of the item

答えて

0

ない私が知っている - あなたが結合されているアイテムはなります、特に以来あなたのオブジェクトがどんなタイプであっても、おそらくIndexプロパティを持っていません。

データオブジェクトにインデックスプロパティを追加することをお勧めします(コレクションにデータを追加するときに追加/操作できます)。

関連する問題