2010-11-23 31 views
2

Je dois valider les exceptions lors de la liaison. Est-ce possible en utilisant Caliburn.Micro?Caliburn.Micro - est-il possible de valider sur des exceptions avec des liaisons conventionnelles?

En ce moment j'ai le code qui ressemble à

<TextBox x:Name="FirstName" /> 

Mais je reçois pas de validation sur les exceptions. Si je le change en

<TextBox Text="{Binding FirstName, Mode=TwoWay, ValidatesOnExceptions=True}" /> 

Ensuite, j'obtiens une validation correcte, mais je perds la bonne liaison conventionnelle. Des idées?

Répondre

10

Oui. Absolument. Pour ce faire, vous devez remplacer ConventionManager.ApplyValidation par votre propre contrôle de validation et code d'application. Vous le feriez dans la méthode Configure de votre programme d'amorçage afin qu'il soit prêt à être utilisé par le framework. Vous pourriez avoir quelque chose comme ceci:

ConventionManager.ApplyValidation = (binding, viewModelType, property) => {  
    binding.ValidatesOnExceptions = true; 
}; 
+0

Wow, directement pour Eisenberg lui-même: P Merci beaucoup. –