DataGrid Focus和SelectedIndex?

时间:2015-04-17 15:15:27

标签: c# wpf wpfdatagrid

难以理解这个概念。如果您点击WPF DataGrid上的某一行,它会被SystemColors.HighlightBrushKey着色并具有“焦点”。

如果您选择另一个控件,该行不再具有SystemColors.HighlightBrushKey,而是具有其他颜色(不确定它是什么SystemColor)。然而,它仍被视为DataGrid的{​​{1}}。

我原本预计,如果DataGrid失去焦点,那么selectedItem始终为-1,selectedIndexselectedItem。这种行为的目的是什么,是否有一种简单的方法可以将其关闭?

1 个答案:

答案 0 :(得分:0)

假设您有一个DataGrid并且单独使用选定的项目"按钮。如果网格在失去焦点时丢弃选择,你怎么能使它工作?这是一个简单的例子,但总的来说,我不知道用户做出的持久选择状态是多么糟糕。

关闭它似乎很容易,只需在SelectedItems.Clear()上设置LostFocus即可。您可以创建自己的DataGrid子类并将其放在那里,因此您不必在每个网格中编写它。你必须实现一些更精细的东西才能让它与多选一起工作。