我在Silverlight 4中使用DataForm。實際上有幾個DataForms,它們共享一個通用的RIA Services上下文。下面是我遇到的問題...如何以編程方式檢測DataForm是否處於編輯模式
如果我開始在數據形的一個編輯數據字段,然後點擊)按鈕調用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 Services上下文(它們各自位於選項卡控件的單獨選項卡中)。
我想通過在代碼中檢測DataForm何時處於編輯模式來避免此問題。當我處於調試模式時,可以看到DataForm的屬性如IsEditing
和CanCancelEdit
表明它處於編輯模式,但這些屬性似乎無法在我的代碼中使用。
任何想法?
感謝您的回答。我嘗試了這兩個屬性,但他們並沒有給我足夠的東西。如果您已開始更改字段但尚未進行任何以前的更改,則IsItemChanged仍會報告「false」。另一方面,如果您轉移到新記錄但尚未開始對其進行任何更改,則模式將報告「編輯」。 – MylesRip 2010-10-06 17:37:17