2009-08-13 8 views
1

Ich habe gerade alle meine Einstellungen von AppSettings zu ConfigurationSections konvertiert. Es hat definitiv Dinge aufgeräumt, aber ich habe Schwierigkeiten mit dem Einstellungsfenster. Ich möchte Bindungen in meinem WPF-Fenster verwenden.Bindung an ConfigurationSection

  • Soll ich jedes ConfigurationSections in einer Abhängigkeitseigenschaft speichern und an die Eigenschaften von ConfigurationSection binden?
  • Sollte ich ObjectDataProvider verwenden, die den ConfigurationManager.GetSection aufruft?
  • Gibt es einen anderen Weg, ich kann das tun?
  • Off-Thema: Ich finde die Bindungen in WPF wirklich mächtig, aber es ist manchmal ein wenig verwirrend oder schwierig, die Bindungen zu erstellen. Ich wünschte, es gäbe eine bessere Dokumentation für XAML.

    Antwort

    1

    Sie müssen nichts Besonderes tun - Sie können auf Typen mit einfachen alten Eigenschaften zurückgreifen. Alle Informationen über Abhängigkeitseigenschaften gelten nur für WPF-Steuerelemente. Wenn es um das Modell geht, an das Sie binden, gibt es keine besonderen Einschränkungen. Sie können an einfache alte C# -Objekte (POCOs) binden, obwohl die Implementierung von INotifyPropertyChanged von Vorteil ist.

    Anstatt jedoch direkt an Ihre Domain-Objekte zu binden (es scheint, dass Ihre ConfigurationSections zu dieser Rolle passen), ist es oft eine gute Idee, explizit ein ViewModel zu erstellen, das sich bei der Kapselung der realen Domain-Objekte um bildspezifische Verantwortlichkeiten kümmert.

    Josh Smiths Artikel Patterns: WPF Apps With The Model-View-ViewModel Design Pattern ist eine ausgezeichnete Einführung in die richtige Datenbindung in WPF.