我在 Silverlight 4 中使用 DataForm。实际上,有几个 DataForm,它们共享一个通用的 RIA 服务上下文。这是我遇到的问题...
如果我开始在其中一个 DataForms 中编辑 DataField,然后单击调用 Context.SubmitChanges() 的按钮,则会收到以下错误:
�Entity 'foo' is currently being edited and has uncommitted changes.
A call to BeginEdit must be followed by a call to EndEdit or CancelEdit
before changes can be submitted.�
请注意,“提交更改”按钮在 DataForms 外部,适用于在 DataForms 之间共享的 RIA 服务上下文(每个都位于选项卡控件的单独选项卡中)。
我希望能够通过在代码中检测 DataForm 何时处于编辑模式来避免这个问题。当我处于调试模式时,我可以看到 DataForm 具有指示它处于编辑模式的IsEditing
和等CanCancelEdit
属性,但这些属性似乎无法在我的代码中使用。
有任何想法吗?