(我知道有一些親密的重複在那裏,但沒有人能夠幫助我,請聽我說)WPF驗證,不會觸發初始狀態
我的setter方法我模型在嘗試設置無效值時引發適當的異常。這在用戶輸入新值時驗證了驗證。
但是,當我創建一個新的模型對象時,初始狀態可能是無效的(描述中沒有值等)。這當然不會驗證,但沒有嘗試設置值的東西,沒有例外拋出爲ExceptionValidationRule
捕捉。
的簡單的解決方案我已經有:
捕捉在當前對象的改變,觸發
Current.Value = Current.Value
型評估,以使.set_Value
部分運行,並重新進行驗證(從而觸發ExceptionValidationRule
更新狀態。然而,這種感覺骯髒和錯誤漁獲物的變化,並調用手動財產的屬性驗證和 莫名其妙更新
HasError
和Validation.Errors
這將觸發對象更新它的視覺狀態。 這感覺更像是一個黑客比什麼,我不知道如何去了解它
現在最大的問題是,我大概可以導線的東西了那會工作的任一情況。但是他們完全違反了我的MVVM結構,我不知道如何在MVVM中進行這種驗證。
- 我看過創建我自己的綁定類型,沒有骰子。
- 我看了創造一個裝飾捕捉到我的孩子,可能的工作:需要更多信息
- 我已經看了
IDataError
實現,這不會對我來說,因爲它需要使用this[string]
索引的工作,這與我現有的模型對象的實現衝突。
所以我的想法,而我轉向你所以,如何解決這個問題的一些見解。