2014-12-29 107 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

明白了,非常感謝! –