C# WPF列表框,当选择多个项目时,为什么会省略多项目选择中的第一个项目?
您好,我有一个C# WPF列表框,当选择多个项目时,为什么会省略多项目选择中的第一个项目?,c#,wpf,events,listbox,C#,Wpf,Events,Listbox,您好,我有一个列表框,并在xaml中进行如下设置: <dxdo:LayoutPanel Caption="Raw Data File Names" ItemWidth="2*"> <ListBox ItemsSource="{Binding FilteredFileNames}" SelectionMode="Extended" SelectionChanged="Selector_OnSelectionChanged"/>
列表框
,并在xaml中进行如下设置:
<dxdo:LayoutPanel Caption="Raw Data File Names" ItemWidth="2*">
<ListBox ItemsSource="{Binding FilteredFileNames}" SelectionMode="Extended" SelectionChanged="Selector_OnSelectionChanged"/>
</dxdo:LayoutPanel>
每当我选择多个项目(通过按住shift键并单击鼠标)时,在代码隐藏中处理事件时,我注意到第一个项目从未包含在项目数组中:
private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var vm = DataContext as HistoricalDataImportRawDataViewModel;
vm.SelectedFileNames = e.AddedItems.Cast<string>().ToList();
}
private void Selector\u OnSelectionChanged(对象发送方,selectionchangedventargs e)
{
var vm=作为历史数据导入DataViewModel的DataContext;
vm.SelectedFileNames=e.AddedItems.Cast().ToList();
}
我做错了什么?是否因为添加项只包含初始选择之外的项?要获得完整的项目集合,我可以做些什么?请注意,我必须使用SelectionMode=“Extended”。第一个项目的省略是故意的还是错误?AddedItems属性告诉您哪个项目被添加到所选项目中。如果您对所选的所有项目感兴趣,则必须访问
ListBox
属性SelectedItems
var listbox = (ListBox) sender;
var selectedItems = listbox.SelectedItems
.Cast<string>()
.ToList();
var listbox=(listbox)发送方;
var selectedItems=listbox.selectedItems
.Cast()
.ToList();