Я использую следующий шаблон для ошибки проверки:
<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: 17: невозможно получить значение "Item []" (тип 'ValidationError') из '(Validation.Errors)' (тип 'ReadOnlyObservableCollection`1'). BindingExpression:. Путь = AdornedElement (0) [0].ErrorContent; DataItem = 'AdornedElementPlaceholder' (Name= 'adorner'); целевой элемент "Полигон" (Name= ''); target - это "ToolTip" (тип "Объект" ) ArgumentOutOfRangeException: 'System.ArgumentOutOfRangeException: Указанный аргумент вышел за пределы допустимых значений.
Я попытался использовать свойство HasError
, но не удалось. У кого-нибудь есть идея?