WPF数据网格概念?承诺吗?



我正在与WPF DATAGRID战斗。这个网格包含一个列,我希望用户在其中输入一些数字。我想捕获这些数字,因为他们进入,验证他们,保存在数据库& &;根据输入值填充另一个(只读)列。我正处于这个小发展的捕捉阶段。

This page…

https://learn.microsoft.com/en-us/windows/communitytoolkit/controls/datagrid_guidance/editing_inputvalidation

"当您移动到同一行中的另一个单元格时,将提交单元格级编辑。">

"承诺"是什么?在这种情况下是什么意思?

当我使对象,饲料我的网格行IEditableObject,我看到的是BeginEdit &每次按[enter]时调用EndEdit两次(只有一列是可编辑的)。由于这些方法没有参数,我如何识别我正在处理的行&并访问输入的数据?是BeginningEdit, cellleditending &RowEditEnding也需要吗?

我创建了一个测试应用程序https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.ieditableobject?view=net-5.0,https://learn.microsoft.com/en us/dotnet/api/system.componentmodel.ibindinglist?view=net - 5.0

我加了两个整数,分数&指向客户。我将所有字段设置为只读,除了指向&在设置分数的地方,我也设置分数。当我运行它时,我期望看到点数显示。没有快乐。

当我在下面的代码中将!inTxn改为inTxn时,好了!

private void OnCustomerChanged()
{
if (inTxn && Parent != null)
{
Parent.CustomerChanged(this);
}
}

这是有效的行为吗?文件是正确的还是错误的?

我的快乐是短暂的。增加了一些验证&点数字段停止显示。认真对待。把它拿出来& &;没有复苏。

意思是永久的。可以提交或回滚正在进行的编辑。当移动到同一行中的另一个单元格时,单元格编辑将对其数据源永久保存。它继续说你必须实现IEditableObject来正确处理编辑。