【发布时间】:2011-11-01 08:52:38
【问题描述】:
我有一个 WPF DataGrid 控件,其 SelectionUnit 为“FullRow”,SelectionMode 为“Extended”,我以编程方式选择其中的一个项目(通常是第一个项目)。选择有效,但由于某种原因,任何形式的程序选择似乎都会破坏 shift-select 多选功能。
如果我单击 DataGrid 中的另一个项目(因此我刚刚单击的项目是唯一选择的项目),则 shift-select 将起作用。如果我以编程方式选择了该项目,它似乎只会中断。此外,在任何一种情况下,control-click 都可以选择多个项目——似乎只有 shift-select 被破坏了。
我尝试了各种形式的以编程方式选择单个项目,从简单到 myGrid.SelectedIndex = 0,到使用 DataGrid 的 ItemContainerGenerator 来获取 DataGridRow 对象的实例并在其上设置 IsSelected = true,但没有有用。
重新迭代 -- 项目的编程选择有效,但它会破坏 shift-click 选择。
以前有人遇到过这种情况吗?我尝试将焦点设置在以编程方式选择的 DataGridRow 实例上,但似乎没有帮助?
【问题讨论】:
-
对我来说看起来像是控件中的错误。感觉像是与 SelectedItem 与 SelectedItems 有关,但以编程方式设置 SelectedItems 似乎不起作用。 (不小心添加了这个作为答案而不是先评论,不确定我的删除是否有效)
标签: wpf datagrid multi-select