c# - WPF Datagrid 在点击时复制和粘贴,为什么?
问题描述
我有一个 wpf C# 项目,它带有一个从数据表填充的标准 wpf 数据网格。每次源更改时它都会反弹到表中(因为我有时使用数据网格来显示来自不同源的数据)。我处理 SelectedCellsChanged 事件以突出显示选定的列,并处理 CellEditEnding 事件以使用用户所做的任何单元格更改来更新源表。
这是奇怪的事情:当我双击一个单元格然后单击另一个单元格时,双击单元格的值被粘贴到单击的单元格中。我根本不处理单元格双击,这种行为似乎是数据网格固有的,但我无法通过谷歌搜索任何信息。
我想摆脱这种行为,或者能够捕捉到它(我的应用程序记录并重复用户所做的任何操作,并且一键复制粘贴实际上非常简洁,如果我可以捕捉并保存该动作)。
解决方案
实际上,是我的代码导致了问题。问题是,当单元格失去焦点时会引发 CellEditEnding 事件,并且我设法用前一个单元格的编辑值(失去焦点的那个)更新正在单击的单元格。
我努力寻找解决方案,因为没有细胞离开事件。终于解决了,不是很漂亮,像这样:
string rrow = MyGrid.Items.IndexOf(MyGrid.CurrentItem);
if (!(e.Column.Header.ToString() == MyDataTable.Columns[selectedColumn].ColumnName && e.Row.GetIndex() == rrow))
return;
推荐阅读
- c++ - 是否可以在命令行中将输入参数传递给可执行文件
- java - 如何更新 JSON 文件中的几个字段并使用 Java 再次读取带有更新值的 JSON
- python - 如何从字符串中删除字典中的相应单词?
- python - 如何将 print(subprocess.checkout) 的输出存储到 Python 中的变量中?
- django - Django中的多个身份验证登录页面
- postgresql - 如何在 Postgres 中获得时间间隔的中位数?
- powershell - 在 PowerShell 中使用 Remove-PnPTenantSite 删除 SharePoint 站点不起作用
- ios - 设备上的 Xcode 11 实时预览失败,但应用程序运行正常
- powershell - 将成员添加到 PSCustomObject 变量 - 了解发生了什么
- python - 观察到 N 个特殊字符后添加换行符