Si le moteur de liaison ne peut pas convertir le texte entré dans le type de données de la propriété liée dans DataGridTextColumn (liaison ci-dessous), la cellule reçoit une bordure rouge et vous ne pouvez pas modifier d'autres cellules l'erreur est fixe. La bordure reste même si vous sortez de la cellule.Gestion des exceptions (validation) dans WPF DataGrid
<DataGridTextColumn Binding="{Binding IntegerProperty, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnExceptions=True}" />
Tout cela est très bien dans ma configuration. Le problème est que si je lance une exception dans un setter de propriétés, le comportement est différent. D'abord, la bordure rouge (erreur de validation) est supprimée immédiatement lorsque je quitte la cellule et je peux continuer à éditer le reste des cellules de la grille.
Est-il possible de faire en sorte que l'exception levée dans l'éditeur de propriétés se comporte de la même manière que la façon dont le moteur de liaison gère les exceptions de format? Le plus grand ennui est que l'erreur de validation est supprimée après avoir quitté la cellule.
Merci, ValidationRule m'a rapproché de la solution. Maintenant, le comportement est presque le même. Mais toujours l'erreur de validation (j'ai un gestionnaire Validation.Error sur le StackPanel contenant le DataGrid) est supprimée lorsque je quitte l'onglet. Cela ne se produit pas (suppression d'erreur de validation) lorsque le moteur de liaison gère le FormatException. – friskm