@Qulac

Как правильно сделать валидацию в DataGrid?

<Window x:Class="WpfApplicationTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Users}">
            <DataGrid.Resources>
                <Style x:Key="ErrorStyle" TargetType="{x:Type TextBox}">
                    <Setter Property="Padding" Value="-2" />
                    <Style.Triggers>
                        <Trigger Property="Validation.HasError" Value="True">
                            <Setter Property="Background" Value="Red" />
                                <Setter Property="ToolTip"
                                    Value="{Binding RelativeSource={RelativeSource Self},
            Path=(Validation.Errors)[0].ErrorContent}" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </DataGrid.Resources>
            <DataGrid.Columns>
                <DataGridTextColumn Header="Имя" Binding="{Binding Path=FirstName,ValidatesOnExceptions=True}"
                                    EditingElementStyle="{StaticResource ErrorStyle}" />
                <DataGridTextColumn Header="Фамилия" Binding="{Binding Path=LastName, ValidatesOnExceptions=True}" EditingElementStyle="{StaticResource ErrorStyle}"  />
                <DataGridTextColumn Header="Отчество" Binding="{Binding Path=MiddleName,ValidatesOnExceptions=True}" EditingElementStyle="{StaticResource ErrorStyle}"  />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>


Вот в этом примере при ошибке в объекте данных, ячейка должна выделяться красной рамкой и появлятся всплывающая подсказка с сообщением об ошибке. Не работает, я уже не знаю куда тыкаться, как показывала маленький красный значок "!", так и показывает. Ткните пожалуйста носом, что тут не так.
  • Вопрос задан
  • 488 просмотров
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
в модели у полей есть атрибуты валидации?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы