[WPF] Validation Rule avec Binding

Fermé
Aprexia Messages postés 82 Date d'inscription vendredi 17 décembre 2010 Statut Membre Dernière intervention 14 mai 2013 - Modifié par Aprexia le 20/03/2012 à 11:13
Bonjour,

Je souhaite crée une ValidationRule dont les paramètres sont Bindés, comme ceci :
<local:MinMaxValidationRule 
     Minimum="{Binding RelativeSource={
                                     RelativeSource FindAncestor,       
                                     AncestorType=local:IntegerTextBox, 
                                     AncestorLevel=1}, 
                                     Path=Min}"
    Maximum="{Binding RelativeSource={
                                     RelativeSource FindAncestor,
                                     AncestorType=local:IntegerTextBox, 
                                     AncestorLevel=1}, 
                                     Path=Max}"/>
</local:MinMaxValidationRule>

Ce morceaux de code est placé dans le style d'un control personnalisé nommé "IntegerTextBox".

je souhaite donc utiliser ma nouvelle Textbox comme ceci:

    <my:IntegerTextBox [...] Min="12" Max="27"/> 


Mais étant donné qu'une validation rule ne dépent pas de Dependancy object, je ne peut pas crée de dependancy property (propdp) et donc je ne peut pas effectué le binding ci-dessus.

j'ai donc créé une classe dérivée de Dependancy object que j'ai instancié dans MinMaxValidationRule , puis j'ai effectué le binding sur les propdp de cette instance:
<local:MinMaxValidationRule>
   <local:MinMaxValidationRule.ValidRange>
      <local:Int64RangeChecker 
          Minimum="{Binding RelativeSource={
                                          RelativeSource FindAncestor,       
                                          AncestorType=local:IntegerTextBox, 
                                          AncestorLevel=1}, 
                                          Path=Min}"
         Maximum="{Binding RelativeSource={
                                          RelativeSource FindAncestor,
                                          AncestorType=local:IntegerTextBox, 
                                          AncestorLevel=1}, 
                                          Path=Max}"/>
   </local:MinMaxValidationRule.ValidRange>
</local:MinMaxValidationRule>

mais mon binding ne marche pas.
Pourquoi ne pourrais-je pas récupérer les valeurs définies dans ma TextBox ?

merci d'avance,