我有一個自定義控件綁定到視圖模型中的對象。該控件擁有自己的「迷你視圖模型」(實現raiseproperychanged和idataerrorinfo),它的代碼僅用於某些特定的驗證。將控制級別(視圖)驗證錯誤返回到視圖模型
該控件的內部使用了一些屬性,可能導致控件處於無效狀態(這些屬性是控件固有的,並且不代表我們綁定的模型的屬性)。我怎樣才能讓這些驗證錯誤「冒泡」,以便與此控件綁定的屬性顯示爲具有驗證錯誤?
有關更清晰的示例。假設我有一個人物對象綁定到自定義用戶控件的person屬性。該控件將允許您編輯人員的子屬性等。除了通常應用於人員對象的控件之外,在此控件中還有其他驗證,例如控件在用戶關閉控件創建的對話框之前爲「無效」,或者單擊指示已完成編輯的複選框。我希望將這些驗證錯誤傳播出去,以便綁定到person屬性顯示驗證錯誤,或者更具體地說,包含它的VM。
我知道IDataErrorInfo是如何工作的,我正在尋找一種方法來表明「Person」本身是無效的,而不僅僅是人的子屬性。 – Brandorf 2012-04-04 20:20:29
雖然它不能解決我眼前的問題,但我會將其標記爲答案,因爲看起來我真正的問題是方法,而不是缺少一個接口來做我想做的事情。 ,p – Brandorf 2012-04-16 21:32:07