Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF列表框,当选择多个项目时,为什么会省略多项目选择中的第一个项目?_C#_Wpf_Events_Listbox - Fatal编程技术网

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();