WPF ListBox événement SelectionChanged
J'ai un problème avec zone de liste. Lorsque dans mon programme, je clique sur l'un ListBoxItem, je veux changer/ouvrir la fenêtre et de la précommande avant. Mais le problème, c'est que d'abord les feux de l'événement, puis il change de sélection. Code:
private void LB_Playlist_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (LB_Playlist.SelectedItem != null)
{
try
{
List<string> _tempList = new List<string>();
File_Load_List(LB_Playlist.SelectedItem.ToString(), _tempList);
LoadListIntoBox(_tempList);
G_SongList.Visibility = Visibility.Visible;
AnimationMove(G_Playlist, G_Playlist.Margin, new Thickness(-264, 0, 0, 0), AnimationDuration, true);
AnimationMove(G_SongList, new Thickness(264, 0, 0, 0), new Thickness(0, 0, 0, 0), AnimationDuration, false);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
Quand je l'ai essayé avec
MessageBox.Show(LB_Playlist.SelectedIndex.ToString());
Il a été de travail, la sélection était en train de changer, mais le message était à l'affiche. Est-il possible de le changer?
OriginalL'auteur Kuba Wasilczyk | 2013-11-17
Vous devez vous connecter pour publier un commentaire.
La
SelectionChangedEventArgs
contiendra l'élément sur lequel a été désactivée et l'élément sélectionné. Utilisatione.AddedItems
pour obtenir les nouveaux éléments. par exemple,De cette façon, vous n'avez pas besoin de s'inquiéter de savoir si l'événement est déclenché avant ou après le contrôle en cours de mise à jour, mais vous savez que l'événement args contenir les informations correctes.
OriginalL'auteur Lukazoid
Avec la MessageBox appel, vous avez probablement permis à l'INTERFACE utilisateur pour mettre à jour et modifier la sélection avant votre code exécuté.
Vous devriez être en mesure de retirer le sommeil, et l'utilisation
File_Load_List(LB_Playlist.SelectedItem.Contenu.ToString(), _tempList);
OriginalL'auteur JamieMeyer
Résolu. Juste ajouté Fil.Sommeil(70); avant d'essayer&attraper.
Je n'ai aucune idée. Fonctionne très bien sur mon ordinateur rapide. Je pense qu'il va de cause Il doit encore attendre 70ms qui sont assez pour obtenir la sélection actuelle. Toujours en attente pour obtenir de l'aide.
Eh bien, c'est scandaleux, mais il fonctionne. Je suis de l'utiliser jusqu'à ce qu'une meilleure solution.
OriginalL'auteur Kuba Wasilczyk