2014-12-29 55 views
0

您好我有一个ListBox,并将它设置为XAML如下:WPF ListBox,当选择多个项目时,为什么多项选择中的第一项被省略?

<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 =“Extended”。第一个项目是遗漏的还是一个错误?

回答

2

AddedItems属性告诉哪些项目已添加到所选项目中。如果您对所选的所有项目感兴趣,则必须访问ListBox属性SelectedItems

var listbox = (ListBox) sender; 
    var selectedItems = listbox.SelectedItems 
     .Cast<string>() 
     .ToList(); 
+0

明白了,非常感谢! –