How do I get the index of a ListBoxItem
?
The ListBox
has binding to a collection of XML nodes through XmlDataProvider
.
I had a similar question which was answered here
Basically you set the ListBox's AlternationCount
to something really high, and bind to the AlternationIndex
on each item
<ListBox AlternationCount="100">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=(ItemsControl.AlternationIndex)}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
您可以从ItemContainerGenerator
获取ListBoxItem
的索引:
listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem);
The property SelectedIndex
would work. It all depends on how you're doing your binding
You probably want to bind the SelectedIndex
dependency property to some property of the object connected to it's datacontext eg
<ListBox SelectedIndex="{Binding MySelectedIndex}" ItemsSource="{Binding MyItems}"/>
but you could obviously do this
<ListBox SelectedIndex="{Binding MySelectedIndex}">
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
<ListBoxItem>4</ListBoxItem>
</ListBox>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.