我有一个可以编辑的列表框。编辑并保存该列表框中的项目后,新编辑的项目将显示在列表中,但其位置会更改。我希望能够在其位置发生变化时选择或突出显示该项目。我可以获得它的新索引但是我无法找到一种方法在列表框中的psoiton更改后重新选择programitcally!
这里的任何帮助将不胜感激 谢谢
答案 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。