AvaloniaDataGridEnterhandling
创始人
2024-11-12 19:00:14
0

Avalonia DataGrid 是一个很好的数据网格控件,在使用过程中,当用户按下 Enter 键时,DataGrid 不会自动将焦点移动到下一行或者执行编辑模式的提交操作,这个问题可以通过以下代码解决:

public class CustomDataGrid : DataGrid
{
    protected override void OnKeyDown(KeyEventArgs e)
    {
        base.OnKeyDown(e);

        if (e.Key == Key.Enter)
        {
            if (SelectedIndex == Items.Count - 1)   // 如果选中行是最后一行,会新增一行
            {
                var newRecord = Items.SourceCollection.Cast().LastOrDefault();
                if (newRecord != null)
                {
                    Items.Add(newRecord.Clone());
                    SelectedIndex = Items.Count - 1;
                }
            }
            else   // 否则会选中下一行
            {
                SelectedIndex++;
            }

            BeginEdit();
        }
    }
}

通过自定义一个继承自 DataGrid 的类,我们可以重载 OnKeyDown 方法,当用户按下 Enter 键时,判断选中行是否是最后一行,如果是则新增一行,否则选中下一行,最后进入编辑模式。这样可以提高 DataGrid 的交互性和用户体验。

相关内容

热门资讯

2分钟法子!wepoker有机... 2分钟法子!wepoker有机器人吗(透视)其实是真的有辅助开挂(哔哩哔哩)1、wepoker有机器...
八分钟辅助!哈灵脚本ios,玉... 八分钟辅助!哈灵脚本ios,玉海楼茶苑辅助器(都是是有辅助安装)-哔哩哔哩1、玉海楼茶苑辅助器有没有...
第5分钟指南!hhpoker是... 第5分钟指南!hhpoker是内部控制吗(透视)切实存在有辅助辅助(哔哩哔哩)运hhpoker是内部...
第6分钟辅助!财神13章脚本.... 您好,大菠萝辅助挂开挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
第八分钟经验!newpoker... 第八分钟经验!newpoker怎么安装脚本(透视)竟然真的是有辅助下载(哔哩哔哩)newpoker怎...
第二分钟安装!吉祥填大坑机制原... 第二分钟安装!吉祥填大坑机制原来,全民比鸡bug(确实真的有辅助工具)-哔哩哔哩1、每一步都需要思考...
第六分钟技法!wepoker新... 第六分钟技法!wepoker新号好一点吗(透视)确实是真的有辅助教程(哔哩哔哩)1、wepoker新...
第3分钟插件!柳州天天爱字牌辅... 第3分钟插件!柳州天天爱字牌辅助器,欢聚水鱼神器(其实真的有辅助辅助器)-哔哩哔哩1、柳州天天爱字牌...
第四分钟办法!wepoker怎... 第四分钟办法!wepoker怎么设置盖牌(透视)果然存在有辅助神器(哔哩哔哩)1、许多玩家不知道we...
第5分钟辅助!科乐填坑辅助,边... 第5分钟辅助!科乐填坑辅助,边锋干瞪眼辅助器(一直存在有辅助app)-哔哩哔哩1、下载好边锋干瞪眼辅...