ho una casella di riepilogo che si sta filtro in questo modo:Mantenere SelectedItem durante filtro di CollectionViewSource
var view = CollectionViewSource.GetDefaultView(FilterSource);
view.Filter = FilterCode;
Sto funzionando in un problema in cui il SelectedItem
è perdersi quando il filtro è usato con il codice viewmodel in questo modo:
VM
{
public ObservableCollection<Model> Items{get;set;}
public Model SelectedItem
{
get{return _selectedItem;}
set{_selectedItem = value; NotifyPropertyChanged();}
}
}
Quando viene applicato il filtro, il SelectedItem
è impostato null
. Tuttavia, voglio mantenere quell'elemento selezionato a meno che l'utente non faccia effettivamente clic. Se il filtro viene rimosso, l'elemento selezionato dovrebbe essere ancora selezionato. Il modello ha una proprietà IsSelected
e ho cercato di pensare ai modi per eseguire una query per la proprietà IsSelected
. Tuttavia, allora il punto di vista di vincolante non avrebbe funzionato il modo in cui mi aspetto .... o almeno io sto andando in tondo pensando che non può
se la raccolta ha qualche tipo di chiave primaria è possibile salvare questo ID prima del filtraggio e provare a impostare la selecteditem con questo ID dopo il filtraggio – blindmeis