首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Avalonia DataGrid Enter处理

Avalonia DataGrid Enter处理
EN

Stack Overflow用户
提问于 2021-04-30 22:14:58
回答 2查看 60关注 0票数 1

我使用的是Avalonia.Controls.DataGrid。默认情况下,当网格具有焦点并按下Enter时,它会自动处理事件并将所选内容移动到下一项。如何防止此默认行为?我希望有一个自定义的Enter KeyDown处理程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-13 23:59:39

所以这里不能使用KeyDown事件,因为特别是对于Enter,在自定义代码可以处理它之前,它就被DataGrid吞并了。

相反,Key bindings起作用了。您可以将密钥绑定到命令,如下所示:

代码语言:javascript
复制
<DataGrid ...>
  <DataGrid.KeyBindings>
    <KeyBinding Gesture="Enter" Command="{Binding SelectCommand}" />
  </DataGrid.KeyBindings>
  ...
</DataGrid>

这也会阻止网格在按Enter时移动到下一项。

票数 1
EN

Stack Overflow用户

发布于 2021-06-12 15:47:35

试试这个:

1-给你的数据网格一个名字(使用x: name )

2-将这个放入你的构造函数中:

代码语言:javascript
复制
yourDataGridName.KeyDown += yourDataGridName_KeyDown;

3-添加此处理程序:

代码语言:javascript
复制
protected void yourDataGridName_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
         //Put your custom code here 
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67335465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档