ich ReactiveUIReactiveLists, in meinen Projekten mit, einer dieser ReactiveLists ist ItemsSource
DependencyProperty
in meiner benutzerdefinierten WPF MultiSelectComboBox binded Und nach Auswahl einer Option in meiner ComboBox SetSelectedItems
heißt Methode:ReactiveUI ReactiveList und DependencyProperty
private void SetSelectedItems()
{
if (SelectedItems == null)
SelectedItems = new List<object>();
foreach (Node node in _nodeList)
{
if (node.IsSelected && node.Title != "All")
{
if (this.ItemsSource.Count() > 0)
{
var temp = SelectedItems.ToList();
temp.Add(this.ItemsSource.First(x => x.ToString() == node.Title));
SelectedItems = SelectedItems.Concat(temp);
}
}
}
}
Hier versuche ich SelectedItems
-SelectedItemsProperty
hinzuzufügen, das Problem, das ich habe ist, dass, wenn mein ItemsSourceProperty
hat Typen unterscheiden als IEnumerable
Bindung nicht funktionierte und Eigentum ist leer (ich habe Typen versucht: List
, IList
, ICollection
, ReactiveList
, IReactiveList
), und wenn es als IEnumerable
System.InvalidCastException
geworfen ist, wenn ich versuche SelectedItems
zu werfen aufzulisten:
var temp1 = (List<object>)SelectedItems;
und wenn ich werde versuchen, Concat Verfahren wie Probe oben zu verwenden, wird SelectedItems
-01.230.564 gesetzt. Also meine Frage ist, wie kann ich alements SelectedItems
hinzufügen, wenn es an ReactiveList
gebunden ist?
Es wurde entsprechend Artikel this erstellt.
Versuchen SelectedItems ein ObservableCollection machen. BTW Ich glaube nicht, dass das Halten einer Sammlung von Objekttypen eine gute Übung ist. –
Nach dem Wechsel zu ObservableCollection ist meine Liste leer, irgendwie hat die Bindung nicht funktioniert – Carlos28
Es tut mir leid, vielleicht fehlt mir etwas, aber wo ist die ReactiveList hier? In dem Beispiel, das Sie kopiert haben, ist die SelectedItems-Eigenschaft als Dictionary definiert (mit der Angabe, dass List verwendet werden kann). Warum haben Sie sie in IEnumerable geändert? –