【发布时间】:2011-01-12 02:44:45
【问题描述】:
有没有一种方法可以模仿 ctrl+click 的行为,让之前选择的行保持选中状态并添加更多选中的项目?
默认情况下,当点击每一行时,所有之前选择的行都会被取消选择。
实现此目的的一种方法是覆盖 SelectionChanged 事件,并重新选择已删除的行。
void TestGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) {
foreach (var i in e.RemovedItems)
TestGrid.SelectedItems.Add(i);
}
但这并不理想,因为在某些情况下,我想取消选择行(例如单击其中一列中的切换按钮时)。
【问题讨论】: