В WPF, как отобразить ошибку проверки в TextBox, как на картинке ниже? - PullRequest
8 голосов
/ 22 августа 2011

У меня есть TextBox, связанный с некоторым свойством. Я реализовал IDataErrorInfo для выполнения проверки. Недавно я видел какой-то элемент управления в сети, который показывает ошибку, такую ​​как красный треугольник. Я приложил образец ниже:

enter image description here

Я знаю, что должен написать шаблон ошибки, чтобы отобразить его при возникновении ошибки. Когда пользователь наводит красный треугольник, он отображает сообщение об ошибке во всплывающей подсказке. Как отобразить текстовое поле с ошибкой, как тот, который я загрузил. Как получить красный треугольник в шаблоне ошибки?

1 Ответ

14 голосов
/ 22 августа 2011

Вот пример, который выглядит так

enter image description here

Используйте как

<TextBox Validation.ErrorTemplate="{StaticResource topRightCornerErrorTemplate}"
         .../>

ErrorTemplate

<ControlTemplate x:Key="topRightCornerErrorTemplate">
    <Grid>
        <Polygon Points="40,20 40,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>
</ControlTemplate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...