2012-07-11 73 views
2

我希望它只能在DataGrid中选择一个单元格。在禁用多选的情况下,您仍然可以选择一系列单元格,但我希望它只允许单单元格选择。有没有办法通过属性来做到这一点?或者我将不得不拦截选择并过滤除一个单元格以外的所有内容?在WPF中,我如何只允许在DataGrid中选择一个单元格?

+3

控制什么您使用的是?对于答案可能有点关键。 – 2012-07-11 08:23:39

+0

@AdamHouldsworth耶谢谢。没有意识到我离开了。这是一个DataGrid。 – Matt 2012-07-11 08:30:23

回答

6

DataGrid具有DataGridSelectionUnit类型与SelectionMode一个SelectionUnit属性,并结合:

将SelectionMode和SelectionUnit属性一起限定DataGrid的 选择行为。

尝试设置SelectionUnitCell。这将既SelectionMode值工作:

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

要选择单个单元格,使用的SingleSelectionModeCellSelectionUnit

将SelectionMode和SelectionUnit性质共同决定 用户如何选择一个DataGrid项目。例如,如果SelectionMode是Single且SelectionUnit是Cell,则用户可以在DataGrid中一次只选择一个单元格。

+0

我想我只是忘了设置SelectionMode属性,但认为我做到了。 – Matt 2012-07-11 08:48:49

+0

对不起,生你的气。 – Matt 2012-07-11 08:49:12

3

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

例子:

<DataGrid ItemsSource="{Binding Customers}" SelectionMode="Single" SelectionUnit="Cell" /> 
相关问题