c# - Wpf - 如何在特定单元格编辑结束后以编程方式结束行编辑

标签 c# wpf gridview mvvm telerik-grid

我有“产品”文本框,用户可以在其中键入产品名称。当用户按下回车键时,这个“Product”将被添加到 GridView 并自动聚焦到“Quantity”单元格。 (我已经成功开发了这部分。)

在用户在 GridView 的 Cell 中键入 Quantity 后,我想 CommitEdit 到这一行并将焦点返回到“Product”文本框。这是我不知道该怎么做的部分。

目前我已经尝试过类似下面的方法:

private void RadGridViewInvoiceItems_CellEditEnded( object sender, GridViewCellEditEndedEventArgs e )
{
      if ( e.Cell.Column.Header.ToString() == "Quantity" )
      {
           this.gridView.CommitEdit();
           this.productTextBox.Focus();
      }         
}

但上面的代码导致“StackOverFlow”异常。我该如何解决这个问题?

附言我使用带有 MVVM 模式和 Telerik 控件的 C# Wpf 开发了这个应用程序。

最佳答案

您可以在 DataGrid.CellEditEnding 处理程序中使用 DataGrid.CommitEdit,确保处理重入。

这是一篇描述该技术的博客文章:

关于c# - Wpf - 如何在特定单元格编辑结束后以编程方式结束行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743043/

相关文章:

c# - 我的 WPF 组合框中的绑定(bind)不起作用?

wpf自定义按钮最佳方法

c# - aspx页面超时过期错误

c# - 在回传上追加 QueryString?

wpf - 仅调用ContentTemplateSelector一次,以显示始终相同的数据模板

c# - 顶部 :? 的 CSS 问题

javascript - 调试时 SQL 数据库中的图像未显示在 GridView 中,但测试查询时却显示?

c# - 检索 gridview 链接按钮值。

c# - 使用 MVVM 模式从 View 模型到 WPF 中的 View 的条件绑定(bind)

c# - HttpListener 类可以用于嗅探吗?