【问题标题】:Binding SelectedItems of Listview绑定Listview的SelectedItems
【发布时间】:2012-01-25 08:08:07
【问题描述】:

如何绑定SelectedItemsListView? 我的ListView 具有multipleSelection 属性,我使用CollectionView 作为其内容..

我听说过 Attached 属性,并尝试使用我在此处找到的属性来实现它: Sync SelectedItems in a muliselect listbox with a collection in ViewModel

我可以通过单击行来多选项目,但我不能使用Shift 键盘立即多选多行...此外,当我过滤我的集合并刷新它时,我的选择都被取消选择后刷新..

我怎样才能让每当我的CollectionView 刷新时,之前选择的项目在刷新后仍然被选中...?

还有人可以帮助我如何通过我的视图模型从逻辑上操作选定的项目吗?

【问题讨论】:

    标签: c# wpf listview collectionview


    【解决方案1】:

    也许您应该将IsSelected 属性添加到 ListViewItem 的视图模型中。

    【讨论】:

    • +1 这是我通常做的——给对象添加IsSelected属性,并绑定到ListViewItem样式中
    • 这怎么可能是“真正的 WPF 方式”?它是将纯粹用于视图的属性放入模型中吗?我想如果您愿意从您的对象转换为仅自定义 ViewModel 的对象,那么您可以将其保留在视图模型中。但是,应该只是查看的东西正在消失。
    • @Vaccano:我猜你混淆了模型和视图模型。我建议将 View 中的属性放到 ViewModel 中。然后您可以将计算属性添加到 ViewModel:SelectedItems。
    【解决方案2】:

    您必须使用自己的代码在刷新后保留所选项目。也许在刷新之前复制您的收藏,然后简单地检查当前收藏中所有已检查的项目。

    将您的 selectection mode 更改为扩展您的列表框以使 shift 键起作用。

    至于逻辑上操作选定的项目,你将不得不提供更多关于你想要做什么的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2014-12-08
      • 2016-04-21
      • 2013-08-18
      相关资源
      最近更新 更多