3

我希望只能在 DataGrid 中选择一个单元格。禁用多选后,您仍然可以选择一系列单元格,但我希望它只允许选择单个单元格。有没有办法通过属性来做到这一点?还是我必须拦截选择并过滤掉除一个单元格之外的所有内容?

4

2 回答 2

10

DataGrid具有 type 的属性SelectionUnitDataGridSelectionUnitSelectionMode:

SelectionMode 和 SelectionUnit 属性共同定义了 DataGrid 的选择行为。

尝试设置SelectionUnitCell. 这将适用于两个SelectionMode值:

如果选择模式为扩展,则用户可以选择多个项目,其中项目类型由 SelectionUnit 属性定义。如果选择方式为单项,则用户只能选择单项。

要选择单个单元格,请使用SelectionMode和:SingleSelectionUnitCell

SelectionMode 和 SelectionUnit 属性共同决定用户如何选择 DataGrid 中的项目。例如,如果 SelectionMode 为 Single,而 SelectionUnit 为 Cell,则用户一次只能在 DataGrid 中选择一个单元格。

于 2012-07-11T08:37:40.620 回答
3

您需要设置 DataGrid 的 SelectionUnit。它定义了一个选择单元的范围。可以设置为 Cell、CellAndRowHeader 和 FullRow。

例子:

<DataGrid ItemsSource="{Binding Customers}" SelectionMode="Single" SelectionUnit="Cell" />
于 2012-07-11T08:39:31.677 回答