【问题标题】:WPF ListBox, when selecting several items, why is the first item in the multi item selection omitted?WPF ListBox,选择多个项目时,为什么多项目选择中的第一个项目被省略了?
【发布时间】:2014-12-29 18:47:59
【问题描述】:

您好,我有一个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="Extended"。遗漏第一项是有意的还是错误?

【问题讨论】:

    标签: c# wpf events listbox


    【解决方案1】:

    AddedItems 属性表明将哪个项目添加到选定项目。如果您对所有选择的项目感兴趣,您必须访问ListBox 属性SelectedItems

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多