Ma configuration actuelle lie la propriété Text
de mon TextBox
à un certain objet Uri
. J'adorerais utiliser la validation intégrée de WPF pour détecter les URI invalides, et continuer à partir de là. Mais cela ne semble pas fonctionner?Liaison de données/validation WPF pour les URI?
J'imaginerais qu'il lancerait une exception si je saisissais, par exemple, "aaaa" comme URI. Ainsi, ce qui déclenche ma configuration actuelle, qui est censé détecter les exceptions comme ceci:
<TextBox Grid.Column="1" Name="txtHouseListFile" DockPanel.Dock="Right" Margin="3">
<TextBox.Text>
<Binding Source="{StaticResource Settings}" Path="Default.HouseListFile" Mode="TwoWay">
<Binding.ValidationRules>
<ExceptionValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Alors j'imagine que je pourrais vérifier les différentes propriétés de validation, comme ça?
Validation.GetHasError(this.txtHouseListFile)
Mais cela ne semble pas fonctionner. Peut-être qu'il ne lance pas d'exceptions en essayant de convertir? Ou peut-être que ma configuration est incorrecte? Corrections à l'un ou l'autre serait génial.
Ma source de liaison est un objet Uri, pas une chaîne. Donc, pouvez-vous confirmer qu'il n'y a aucun moyen d'utiliser le ExceptionValidationRule intégré? Il semble qu'il devrait lancer une exception UriFormatException lorsque vous essayez d'initialiser l'Uri à partir d'une chaîne invalide ... et ainsi déclencher la règle. – Domenic