WPF 列表框,当选择多个项目时,为什么省略了多项目选择中的第一项
本文关键字:项目 选择 一项 为什么省 列表 WPF | 更新日期: 2023-09-27 18:35:29
嗨,我有一个ListBox
,并在 xaml 中按如下方式设置它:
<dxdo:LayoutPanel Caption="Raw Data File Names" ItemWidth="2*">
<ListBox ItemsSource="{Binding FilteredFileNames}" SelectionMode="Extended" SelectionChanged="Selector_OnSelectionChanged"/>
</dxdo:LayoutPanel>
当我每次选择多个项目(通过下移加鼠标单击)时在代码隐藏中处理事件时,我注意到第一项从未包含在项目数组中:
private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var vm = DataContext as HistoricalDataImportRawDataViewModel;
vm.SelectedFileNames = e.AddedItems.Cast<string>().ToList();
}
我做错了什么?是因为AddedItems
只包含初始选择之外的项目吗?我该怎么做才能获得完整的项目集合?请注意,我必须使用选择模式="扩展"。省略第一项是有意的还是错误?
> AddedItems
属性告知哪个项已添加到选定项。如果您对所选的所有项目感兴趣,则必须访问ListBox
属性SelectedItems
。
var listbox = (ListBox) sender;
var selectedItems = listbox.SelectedItems
.Cast<string>()
.ToList();