Ich habe eine Listbox, die Filter wie dies zu sein:Halte SelectedItem während der Filter von Collection
var view = CollectionViewSource.GetDefaultView(FilterSource);
view.Filter = FilterCode;
ich in ein Problem laufen lasse, wo die SelectedItem
ist verloren, wenn die Filter mit Viewmodel Code wie folgt verwendet:
VM
{
public ObservableCollection<Model> Items{get;set;}
public Model SelectedItem
{
get{return _selectedItem;}
set{_selectedItem = value; NotifyPropertyChanged();}
}
}
Wenn der Filter angewendet wird, wird die SelectedItem
zu null
gesetzt. Ich möchte diesen ausgewählten Eintrag jedoch beibehalten, es sei denn, der Benutzer klickt tatsächlich darauf. Wenn der Filter entfernt wird, sollte das ausgewählte Objekt immer noch ausgewählt werden. Das Modell hat eine IsSelected
Eigenschaft, und ich habe versucht, über Möglichkeiten zur Abfrage der IsSelected
Eigenschaft nachzudenken. Doch dann verbindlich die Ansicht des würde die Art, wie ich erwarte nicht arbeiten .... oder zumindest ich in Kreisen würde denken, es kann nicht
Wenn Ihre Sammlung einen Primärschlüssel hat, können Sie diese ID vor dem Filtern speichern und versuchen, den ausgewählten Eintrag nach dem Filtern mit dieser ID zu versehen – blindmeis