列表框是数据绑定,通过xmldataprovider绑定到XML节点的集合。
答案 0 :(得分:6)
我有一个类似的问题已被回答here
基本上你将ListBox的AlternationCount
设置为非常高的值,并绑定到每个项目的AlternationIndex
<ListBox AlternationCount="100">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=(ItemsControl.AlternationIndex)}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 1 :(得分:2)
您可以从ItemContainerGenerator获取ListBoxItem的索引:
ItemContainerGenerator.IndexFromContainer(my_listBoxItem);
答案 2 :(得分:0)
属性SelectedIndex
可行。这一切都取决于你如何进行约束
您可能希望将SelectedIndex
依赖项属性绑定到与其datacontext连接的对象的某些属性,例如。
<ListBox SelectedIndex="{Binding MySelectedIndex}" ItemsSource="{Binding MyItems}"/>
但你显然可以这样做
<ListBox SelectedIndex="{Binding MySelectedIndex}">
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
<ListBoxItem>4</ListBoxItem>
</ListBox>