难以理解这个概念。如果您点击WPF DataGrid
上的某一行,它会被SystemColors.HighlightBrushKey
着色并具有“焦点”。
如果您选择另一个控件,该行不再具有SystemColors.HighlightBrushKey
,而是具有其他颜色(不确定它是什么SystemColor)。然而,它仍被视为DataGrid
的{{1}}。
我原本预计,如果DataGrid失去焦点,那么selectedItem
始终为-1,selectedIndex
为selectedItem
。这种行为的目的是什么,是否有一种简单的方法可以将其关闭?
答案 0 :(得分:0)
假设您有一个DataGrid并且单独使用选定的项目"按钮。如果网格在失去焦点时丢弃选择,你怎么能使它工作?这是一个简单的例子,但总的来说,我不知道用户做出的持久选择状态是多么糟糕。
关闭它似乎很容易,只需在SelectedItems.Clear()
上设置LostFocus
即可。您可以创建自己的DataGrid子类并将其放在那里,因此您不必在每个网格中编写它。你必须实现一些更精细的东西才能让它与多选一起工作。