Ich versuche, eine TwoWay-Bindung auf ein Kombinationsfeld mit nur einer Auswahl der Objekte einer Sammlung festzulegen. Momentan funktioniert alles gut, wenn ich nur alles in der Auswahl binden möchte, aber in der Beispielklasse unten, was ist, wenn ich nur Elemente anzeigen möchte, bei denen Aktiv = Wahr ist? Ich kann die Elemente mit LINQ wie ItemsSource filtern = FROM x IN Coll WHERE x.Active = True, aber dann verliere ich die TwoWay-Bindung. Dh, wenn der Name oder der aktive Zustand in der Quelle von woanders aktualisiert wird, wird das Kombinationsfeld nicht automatisch aktualisiert.WPF Bindung an eine Combo mit nur einer Teilmenge der Elemente einer Collection
Ist das möglich? Wenn nicht, hat jemand, der damit zu tun hatte, einige Vorschläge?
'The Class
Public Class Test
Implements ComponentModel.INotifyPropertyChanged
Private _Name As String
Private _Active As Boolean
Public Sub New(Name As String, Active As Boolean)
_Name=Name
_Active=Active
End Sub
Public Property Name() As String
End Class
'Declare a Collection and add some Tests, then bind to Cbo in Page Load
Dim Coll As New ObservableCollection
Coll.Add(New Test("Test1", True))
Coll.Add(New Test("Test2", False))
Coll.Add(New Test("Test3", True))
TheComboBox.ItemsSource=Coll
Ja, ich dachte eigentlich, es selbst nicht versuchen, aber ich habe über eine andere Stelle irgendwo laufen, die sagten, dass die Ansicht der Change Fortpflanzung verlieren. Aber selbst wenn Views funktioniert, bin ich dankbar, dass ich etwas über Bindable LINQ gelernt habe. Das wird sicher auch für die Zukunft eine große Hilfe sein. Danke Matt! – JoshKraker