C# 如何禁用在WPF数据网格上取消选择记录的功能

C# 如何禁用在WPF数据网格上取消选择记录的功能,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在致力于实现一个WPF数据网格,我有一个要求,即必须始终选择网格中的记录。我已设置SelectionMode=Single和SelectionUnit=FullRow。但是,如果在按住control键的同时单击并拖动给定记录,则可以进入网格不再具有选定值的状态。通过按control键,我似乎可以取消选择该记录。我尝试过在按下控制键时处理preview key down事件并将handled设置为true,但这似乎是单击/拖动记录和按下控制键之间的操作顺序问题。最后,我只想禁用整个单击/拖动网

我正在致力于实现一个WPF数据网格,我有一个要求,即必须始终选择网格中的记录。我已设置SelectionMode=Single和SelectionUnit=FullRow。但是,如果在按住control键的同时单击并拖动给定记录,则可以进入网格不再具有选定值的状态。通过按control键,我似乎可以取消选择该记录。我尝试过在按下控制键时处理preview key down事件并将handled设置为true,但这似乎是单击/拖动记录和按下控制键之间的操作顺序问题。最后,我只想禁用整个单击/拖动网格选择,但我在这方面做得不够。我正在尽可能地保持这个清洁。有人对此有经验吗?

在选择更改事件中设置e.Handled=false时会发生什么?没有。此时所选内容已更改。这对我一点帮助都没有。你有什么具体的想法吗?我想你可以缓存选中的项目。然后,当发生另一个将选定项设置为null的事件时,可以将网格的选定项重置回缓存值。