获取ListBoxItem的索引 - WPF

问题描述 投票:2回答:3

我如何获得一个 ListBoxItem?

ListBox 绑定到一个XML节点集合,通过 XmlDataProvider.

c# wpf xaml data-binding listbox
3个回答
10
投票

我有一个类似的问题,得到了回答 此处

基本上,你设置了ListBox的 AlternationCount 到真正高的东西,并绑定到。AlternationIndex 在每一个项目上

<ListBox AlternationCount="100">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
                                      Path=(ItemsControl.AlternationIndex)}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

4
投票

你可以得到 ListBoxItem 来自 ItemContainerGenerator:

listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem);

-3
投票

财产 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>
© www.soinside.com 2019 - 2024. All rights reserved.