我如何获得一个 ListBoxItem
?
该 ListBox
绑定到一个XML节点集合,通过 XmlDataProvider
.
我有一个类似的问题,得到了回答 此处
基本上,你设置了ListBox的 AlternationCount
到真正高的东西,并绑定到。AlternationIndex
在每一个项目上
<ListBox AlternationCount="100">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=(ItemsControl.AlternationIndex)}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
你可以得到 ListBoxItem
来自 ItemContainerGenerator
:
listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem);
财产 SelectedIndex
会工作。这一切都取决于你如何做你的绑定
你可能想把 SelectedIndex
依赖属性到对象的一些属性,连接到它的数据上下文,比如说。
<ListBox SelectedIndex="{Binding MySelectedIndex}" ItemsSource="{Binding MyItems}"/>
但你显然可以这样做
<ListBox SelectedIndex="{Binding MySelectedIndex}">
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
<ListBoxItem>4</ListBoxItem>
</ListBox>