如何使用c#以编程方式选择列表框中的项目

时间:2011-08-17 21:43:01

标签: c# wpf listbox

我有一个可以编辑的列表框。编辑并保存该列表框中的项目后,新编辑的项目将显示在列表中,但其位置会更改。我希望能够在其位置发生变化时选择或突出显示该项目。我可以获得它的新索引但是我无法找到一种方法在列表框中的psoiton更改后重新选择programitcally!

这里的任何帮助将不胜感激 谢谢

2 个答案:

答案 0 :(得分:2)

ListBox.SelectedIndex = newPosition;

ListBox.SelectedIndices.Add(newPosition);
如果您只想选择项目,请使用可选的SelectedIndices.Clear()

答案 1 :(得分:0)

我假设itemssource是某种集合。为什么你不使用Mode = TwoWay的SelectedItem属性从你的c#代码中选择你想要的项目?

<ListBox ItemsSource="{Binding Path=YourItemsCollection}"
         SelectedItem="{Binding Path=MySelectedItem, Mode=TwoWay}" />

另一种方法是使用ICollectionView MoveCurrentTo方法。您所要做的就是使用CollectionViewSource.GetDefaultView(this.YourItemsCollection)创建ICollectionView。如果采用这种方式,则不需要绑定到SelectedItem,但必须为列表框设置IsSynchronizedWithCurrentItem = true。