我實現了類型CustomDoubleConverter
,它實現了IValueConverter
。 我把它包含在Converter={StaticResource customDoubleConverter}
和xaml
-文件中的相應資源。 它工作正常。WPF:如何在從IValueConverter拋出的UI中顯示錯誤消息?
問題是關於錯誤處理。 我想檢查一下UI字符串是否代表正確的double
。如果沒有,則根據無效輸入顯示標籤上的兩條消息之一:空字符串或其他非雙字符串。
當從字符串轉換類型時發生錯誤時,應使用哪種方法在UI窗體上顯示自定義錯誤消息?
我試圖通過例外,但收到未處理的異常。 Tip: Do not throw an exception in a IValueConverter說服我不要再嘗試例外。
我已經能夠在轉換之後檢查雙重處理,正確處理了MOVVM視圖模型中的IDataErrorInfo
接口。但是它可以在成功完成字符串到雙倍轉換之後完成,這不是上述情況。
我也有我的文本框ValidatesOnDataErrors="True"
和ValidatesOnExceptions="True"
。
我使用MVVM方法進行設計(如果有幫助)(與WPF Apps With The Model-View-ViewModel Design Pattern中描述的類似)。
簡而言之:
我想從TextBox
解析雙,並顯示三條錯誤信息之一,如果任何UI標籤:
- 空字符串(如上所述),
- 無效雙字符串(上面提到)和
- 負號(上面沒有提到,但我通過
IDataErrorInfo
處理過 - 這不是問題)。
我會通過表格上的標籤通知用戶,更新的問題。我使用MVVM方法進行設計。 – sergtk
ok,所以你可以在標籤上設置一個依賴屬性,當轉換器失敗時,它設置它。標籤接收到該信號變爲可見並顯示從Converter傳來的文本。 – Tigran
謝謝,我會嘗試一下,使用WPF的經驗非常少。 – sergtk