WPF: Context in ValidationRule



  • Hallo

    Folgende Situation:

    public enum FruchtArt
    {
       Apfel, Birne, Mandarine
    }
    class Frucht
    {
       public FruchtArt
       {
          get;
          set;
       }
    
       public DateTime ReifeZeitpunkt
       {
          get;
          set;
       }
    }
    

    Nun erstelle ich ein Binding auf die Eigenschaft ReifeZeitpunkt, welches eine ValidationRule enthält, die überprüfen soll ob das eingegeben Datum in einem bestimmten Bereich liegt. Der Bereich ist jedoch abhängig von der FruchtArt.

    Das Problem ist jetzt, dass im Aufruf ValidationRule.Validate(..) kein Zugriff auf die Frucht Instanz oder die Eigenschaft FruchtArt besteht.

    Hat jmd. dasselbe Problem? Wenn ja, wie wurde es gelöst?
    Gibt es alternative Lösungsansätze?

    Ich habe verschiedene Dinge versucht:
    - ValidationRule um eine DependencyProperty erweitern, welches den Context enthält (mittels untenstehen Link kommt man an den DataContext)
    - ValidatioRule programmatisch einbinden und dabei den Context angeben.

    Leider scheitern beide Ansätze beim Versuch, die ValidationRule in ein Item einer Collection z.B. ListBoxItem einzubinden.

    http://www.codeproject.com/KB/WPF/ArtificialInheritanceCxt.aspx

    Simon



  • Nur als Hinweis:
    Eine Lösung für das oben beschriebene Szenario habe ich nicht gefunden.

    Die Lösung, die jetzt impl. ist, basiert darauf nicht die Eingaben zu validieren, sondern das Model zu validieren.

    Simon


Anmelden zum Antworten