C# 如何获取扩展选择模式WPF列表框的索引值?

C# 如何获取扩展选择模式WPF列表框的索引值?,c#,wpf,listbox,C#,Wpf,Listbox,我正在使用一个可观察的集合来保存拖到ListBox控件中的所有文件,并将集合绑定到itemssource,现在我正在使用扩展选择模式,以便可以在ListBox中选择多个项目,我的问题是,如果我选择了索引0、4和7作为示例,如何将这些值添加到数组中?由于无法绑定到列表框控件的SelectedItems属性,因此需要在后端(ViewModel或code behind)注意这一点 这取决于您希望何时发生,取决于您的方法 如果希望在SelectionChanged上更新索引,则需要使用事件处理程序或At

我正在使用一个可观察的集合来保存拖到ListBox控件中的所有文件,并将集合绑定到itemssource,现在我正在使用扩展选择模式,以便可以在ListBox中选择多个项目,我的问题是,如果我选择了索引0、4和7作为示例,如何将这些值添加到数组中?

由于无法绑定到
列表框
控件的
SelectedItems
属性,因此需要在后端(ViewModel或code behind)注意这一点

这取决于您希望何时发生,取决于您的方法

如果希望在SelectionChanged上更新索引,则需要使用事件处理程序或AttachedCommandBehavior方法钩住该事件

要获取索引(集合索引,不一定是显示索引),您将在SelectedItems集合中循环,并从
ItemsSource
集合中获取
IndexOf
值(在您的示例中是
ObservableCollection

但是,如果您的列表在设置
ItemsSource
后已排序,则可能需要采取不同的方法