2016-03-03 46 views
0

我有MVVM WPF應用程序,其中模型屬性裝飾有驗證屬性必需和自定義屬性,用於檢查值是否已存在。驗證在LostFocus上執行。
如果輸入不滿足第一個屬性的數據(TextBox),將顯示正確的錯誤消息,但如果我修改此數據的方式不滿足第二個屬性,則仍會顯示來自第一個屬性的錯誤消息。
如果我輸入第一個不良值,則更正值然後第二個不良值,顯示正確的錯誤消息。
我也嘗試執行驗證不使用屬性,但檢查屬性setter中的值和拋出異常,一切工作正常。
哪裏可以出錯?顯示不正確的錯誤消息的數據驗證屬性

回答

0

問題出現在IValueConverter的實現中,用於將錯誤消息顯示爲控件的工具提示。

不工作:

<Style x:Key="ErrorToolTipStyle" TargetType="Control"> 
    <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors), Converter={StaticResource ValidationErrorsToString}, Mode=OneWay}"/> 
</Style> 

工作:

<Style x:Key="ErrorToolTipStyle" TargetType="Control"> 
    <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent, Mode=OneWay}"/> 
</Style> 
相關問題