您好我有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
只包括初始选择之外的项目吗?我该怎么做才能获得完整的物品集合?请注意,我必须使用SelectionMode =&#34; Extended&#34;。遗漏了第一个项目还是一个错误?
答案 0 :(得分:2)
AddedItems
属性告知哪个项目已添加到所选项目中。如果您对所选的所有项目感兴趣,则必须访问ListBox
属性SelectedItems
。
var listbox = (ListBox) sender;
var selectedItems = listbox.SelectedItems
.Cast<string>()
.ToList();