2

Ich versuche, Wpf-Databind zu einer Sammlung von Datenmodellen zu haben und sie mit Datatemplates anzuzeigen. Derzeit funktioniert dies perfekt, wenn eine IList verwendet wird, jedoch scheint die Datenbindung keine Adds/Removes auf der IList aufzunehmen. Ich gehe davon aus, dass dies damit zusammenhängt, dass die Sammlungen von Nhibernate nicht beobachtbar sind. Ich habe versucht, Nomad's WPF Collections ohne viel Glück zu implementieren (nH sagt dies nicht der Umsetzung UserCollectionType)Observable-Liste Nhibernate

Ich bin nicht besonders scharf auf, herauszufinden, wie Nomaden Sammlungen zu beheben, so frage ich mich, ob es einen besseren Weg, um einen beobachtbaren Sammlung zu erreichen, für wpf-nhibernate Bindung, vor allem jetzt mit der Freigabe von nH 3.0

Vielen Dank im Voraus!

+0

Nicht sicher, welche Schwierigkeiten Sie mit meiner Bibliothek hatten. Es hat für mich und viele andere Entwickler seit Jahren gut funktioniert. Die mitgelieferte Beispiel-App demonstriert dies. – HappyNomad

Antwort

3

einen Blick auf unhaddins Nehmen .Sie Implementierungen von Observablen Nhibernate`s Sammlungen

+0

Danke, das scheint zu funktionieren :) – Josh

+0

nice! ... es gibt andere sehr nützliche abgedeckte Themen, wie Sessions Lifetime Management – DanielGomez

0

Wenn Ihre Sammlung IList implementiert, können Sie sie als normale Taschenkollektion abbilden.

1

einfache Art und Weise verwenden Eigenschaft Setter für beobachtbaren Sammlung Initialisierung finden:

private ObservableCollection<ItemType> _items = new ObservableCollection<DynamicActivity>(); 
    public IList<DynamicActivity> Items 
    { 
     get { return _items; } 
     set { _items = new ObservableCollection<ItemType>(value); } 
    } 

Nur müssen definieren, entsprechende Zuordnung Strategie - verwende nur access = "property".

+0

Dies wird nicht funktionieren, wenn Sie Cascade auf der Sammlung verwenden. Sie würden wahrscheinlich eine Ausnahme bekommen: Eine Sammlung mit cascade = "all-delete-orphan" wurde nicht mehr von der besitzenden Entity-Instanz referenziert ... IUserCollectionType ist der richtige Weg. – wezzix