我正在使用以下模板来处理验证错误:
<ControlTemplate>
<Border BorderBrush="Red" BorderThickness="1">
<Grid>
<Polygon Points="8,8 8,0 0,0"
Stroke="Black"
StrokeThickness="1"
Fill="Red"
HorizontalAlignment="Right"
VerticalAlignment="Top"
ToolTip="{Binding ElementName=adorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}" />
<AdornedElementPlaceholder x:Name="adorner"/>
</Grid>
</Border>
</ControlTemplate>
ToolTip使用正常,但在离开当前记录后抛出以下异常:
System.Windows.Data Error: 17 : 无法从'(Validation.Errors)' (类型 'ReadOnlyObservableCollection`1')获取'Item[]'值(类型 'ValidationError')。 BindingExpression: Path = AdornedElement.(0)[0].ErrorContent; DataItem='AdornedElementPlaceholder' (Name='adorner'); target element is 'Polygon' (Name=''); target property is 'ToolTip' (type 'Object') ArgumentOutOfRangeException:'System.ArgumentOutOfRangeException: 指定的参数超出了有效范围。
我尝试使用HasError
属性,但失败了。有人有任何想法吗?