我们有一个DataGrid,允许用户多选单元格。但是,我们有独特的业务需求。具体...在WPF中,如何限制DataGrid中的选择只能是同一行或列中的单元格?
- 第一个单元:您可以选择任何地方
- 第二单元:必须是同一行或同一列的第一个单元格要么英寸
- 其他单元格:必须与第二个单元格定义在同一行或列中。
我没有看到任何PreviewSelectionChanges方法的使用,也没有看到任何方式来阻止Shift-Selections,它将跨越允许选择的边界。
我目前的想法是保持一个int? Row;
和int? Col;
属性,我用它来修剪选定的单元格后,我得到选择更改事件,但这似乎并没有真正清楚,因为它发生在事实之后。我想要说'Cell(c,r)即将被选中的东西。你会允许吗?'我可以从那里去。
所以...想法?
我建议,要么从头开始创建自己的网格或寻求第三方像的DevExpress或Telerik的。我发现内置的数据网格既是越野车,而且很难扩展。 – 2011-05-21 02:17:26
内置电网是一个可怕的电网借口。我无法相信它有多少问题!我已经转向了Xceed,它比它需要的复杂得多,并且缺少一些简单的东西,但它确实很稳定。不过,正如我所说,这是一个野兽! (只是窥探它!你的下巴会落在地板上!)我真的可能只是推出自己的,我可以用于简单的布局任务。 – MarqueIV 2011-06-29 02:52:12