J'ai une liste de visualisation dont la source de données a été modifiée après la mise à jour d'une zone de texte de recherche.WPF ListView Impossible de déclencher la sélection Changé lorsqu'une seule ligne
Lorsque j'entre un critère de recherche qui ne renvoie qu'une ligne, je ne parviens pas à déclencher l'événement OnSelectionChanged La zone de liste fonctionne comme prévu à tout autre moment.
J'ai essayé de changer SelectedItem et SelectedIndex dans le code, en cliquant sans but sur le ListView à la fois sur et hors de la rangée et sont au bord de la folie.
Quelqu'un sait-il d'une solution de sorte que je suis capable de changer l'élément sélectionné !! Aide S'il vous plaît
Le code que je veux courir (en quelque sorte) est:
private void lstShedBatch_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try{
if (lstShedBatch.SelectedItem != null && lstShedBatch.SelectedIndex != -1)
{
ShedBatch currShedBatch = (ShedBatch)this.ShedBatchView.CurrentItem;
Window1.ShedBatchId = currShedBatch.ShedBatchId;
Window1.selectedShedId = currShedBatch.ShedId;
RoutedEventArgs args = new RoutedEventArgs(selectShedBatchClickEvent);
RaiseEvent(args);
}
}
catch
{
}
}
Le problème comme indiqué ci-dessus, est que cet événement ne soit pas déclenchée si le nombre d'éléments dans la liste = 0 ou 1 S'il y a un enregistrement, je veux savoir de quoi il s'agit et l'utiliser pour passer des variables.
Vous ne pouvez pas modifier l'élément sélectionné s'il s'agit du seul élément, car il n'y a aucun autre élément à sélectionner. Quel genre d'activité essayez-vous de déclencher lorsque l'élément sélectionné change? –
J'essaie juste de faire passer l'élément sélectionné plus tard. Tout ce que j'essaie de faire est de dire MyItem = lstView.SelectedItem; – Traci
Je l'ai résolu en définissant l'élément sélectionné sur le .Items.FirstOrDefault(); – Traci