我需要驗證綁定到一個文本框的字段顯示數據錯誤,它的DataContext實現IDataErrorInfo的驗證,對多個控件
<TextBox x:Name="txt" Text="{Binding PatientID, ValidatesOnDataErrors=True}" />
我需要的錯誤在文本框併爲要顯示簡單起見2周以上的TextBlocks在我的表格:
<TextBox x:Name="txt" Text="{Binding Name, ValidatesOnDataErrors=True}" />
<TextBlock Text="TXT 1" Validation.ValidationAdornerSiteFor="{Binding ElementName=txt}" />
<TextBlock Text="TXT 2" Validation.ValidationAdornerSiteFor="{Binding ElementName=txt}" />
這裏的問題是,使用ValidationAdornerSiteFor母鹿不是離開驗證的文本框 標記上它使用Validation.ValidationAdornerSiteFor 僅應用於UIElement的文本框其次使用Validation.ValidationAdornerSiteFor只留下最後的UIElement它用它標明驗證錯誤(TXT 2)
我可以使用什麼機制來顯示在3個不同控件上的一個字段上引發的驗證錯誤,包括實際綁定到該字段的控件(即TextBox),
通過顯示驗證錯誤我是指控件上的紅色邊框(或任何驗證模板)。
誰引發了OnDataError? –
當綁定發生驗證錯誤時,WPF會引發Error事件。您可以使用['AddErrorHandler'](http://msdn.microsoft.com/zh-cn/library/system.windows.controls.validation.adderrorhandler(v = vs.110).aspx)或您註冊它可以實現['INotifyDataErrorInfo'](http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifydataerrorinfo(v = vs.110).aspx),它也包含一個'ErrorsChanged'事件。 –
@Moran這是一個好主意,我會試試看,因爲我在等待更通用的答案,所以我不會將它標記爲答案,如果沒有人會來,我會標記它,謝謝。 –