Avalonia DataGrid 控件的LostFocus事件会多次触发

10-18:有大佬指出两点

①:focus要和单元格内容是否为空一起判断(这个有时间我会验证一下,不然每个控件加个按钮显得呆呆的)

②点击表示选中,编辑是双击

不知道我的用法是否正确。

需求是在修改单元格后,希望原单元格失去焦点后,会自动触发保存功能。

发现DataGrid控件里有一个LostFocus事件,想用随机数验证一下事件的触发情况

可能会把项目放到触摸屏上用,所以想试试。

cs 复制代码
  private void Dgv_OnLostFocus(object? sender, RoutedEventArgs e)
    {
        Random rd = new Random();
        
        Console.WriteLine($"失去焦点验证+{rd.Next(10,100)}");
    }

现在表格没有选中,控制台也清空了。

点击测试

单击 了序号3,再单击序号4。

红色光圈是单击 序号3触发,下面两条是从序号3单击序号4触发。

注意:此时甚至没有进入编辑状态

刚进入系统的时候,直接单击 任意单元格会触发3次事件从而进入编辑状态。

现在清空控制台,尝试直接再次单击已选中进入编辑状态

进入编辑状态

可见控制台输出了3次

。。。。。。

直接从选中行,双击进入新选中行的编辑状态

双击序号1

控制台LostFocus触发了5次。。。。额。。。。

还是加个保存按钮吧。。

相关推荐
Yue丶越10 分钟前
【C语言】深入理解指针(二)
c语言·开发语言·数据结构·算法·排序算法
兜有米啦37 分钟前
python练习题3
开发语言·python
Wzx19801244 分钟前
go基础语法练习
开发语言·后端·golang
baivfhpwxf20231 小时前
要在 WPF 中实现数据表对应实体的属性与 UI 控件的双向绑定,并支持修改通知和 UI 自动更新
c#·wpf
忧郁的蛋~1 小时前
.NET异步编程中内存泄漏的终极解决方案
开发语言·前端·javascript·.net
2301_795167201 小时前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
你才是向阳花1 小时前
如何用Python实现飞机大战小游戏
开发语言·python·pygame
合作小小程序员小小店1 小时前
web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
开发语言·前端·数据库·mysql·html·php·电商
星释2 小时前
Rust 练习册 :Phone Number与电话号码处理
开发语言·机器学习·rust
one year.2 小时前
Linux:线程同步与互斥
java·开发语言