После того, как строка данных получила ошибку, восклицательный знак не исчезнет, даже если вы удалите ошибку. В моем случае мне не нужна была ошибка строки, так как я показываю ошибки в самой ячейке. Поэтому я использовал DataGrid.RowValidationErrorTemplate , чтобы никогда не показывать ошибку.
<DataGrid.RowValidationErrorTemplate>
<ControlTemplate>
<TextBlock Text=""></TextBlock>
</ControlTemplate>
</DataGrid.RowValidationErrorTemplate>