gpt4 book ai didi

wpf - 在WPF中,如何将DataGrid中的选择限制为仅在同一行或同一列中的单元格?

转载 作者:行者123 更新时间:2023-12-05 01:13:01 29 4
gpt4 key购买 nike

我们有一个DataGrid,它允许用户多选单元格。但是,我们有一个独特的业务需求。特别...


第一个单元格:您可以在任何地方选择
第二个单元格:必须与第一个单元格在同一行或同一列中。
其他单元格:必须与第二个单元格所定义的行或列相同。


我看不到要使用的任何PreviewSelectionChanges方法,也看不到任何阻止Shift-Selections跨越允许选择范围的方法。

我目前的想法是维护一个int? Row;int? Col;属性,这些属性用于在我收到选择更改事件后修剪选定的单元格,但是在我看来这并不是很清楚,因为它是在事实发生之后发生的。我要说“ Cell(c,r)将要被选择。你会允许吗?我可以从那里去。

所以...有什么想法吗?

最佳答案

我能想到的更早获取信息的唯一方法是利用MouseDown事件。这不是很漂亮,因为MouseDown位置不一定指示MouseUp的位置,但通常是正确的。因此,如果确定MouseDown位于“禁止”单元格中,则可以警告用户或执行您想执行的其他任何任务。

您还可以在MouseClick事件中添加一个检查(我相信这是一个事件),以便首先检查是否选中的单元格是“禁止的”单元格。如果是这样,您可以取消该事件,该事件将阻止选择该单元格。根据DataGrid的工作方式(我尚无法对其进行测试),您可能需要针对几个Mouse事件执行此操作。

关于wpf - 在WPF中,如何将DataGrid中的选择限制为仅在同一行或同一列中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076400/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com