WPFListBoxSelectionChanged事件我的列表框有问题。在我的程序中,我单击一个ListBoxItem,我想更改/打开窗口并对其进行预订。但问题是它首先触发事件然后更改选择。代码:privatevoidLB_Playlist_SelectionChanged(objectsender,SelectionChangedEventArgse){if(LB_Playlist.SelectedItem!=null){try{List_tempList=newList();File_Load_List(LB_Playlist.SelectedItem.ToString(),_tempList);LoadListInto)(;G_SongList.Visibility=Visibility.Visible;AnimationMove(G_Playlist,G_Playlist.Margin,newThickness(-264,0,0,0),AnimationDuration,true);AnimationMove(G_SongList,newThickness(264,0,0),0),newThickness(0,0,0,0),AnimationDuration,false);}catch(Exceptionex){MessageBox.Show(ex.ToString());}}}当我使用MessageBox.Show(LB_Playlist.SelectedIndex.ToString())尝试时;它正在工作,选择正在改变,但信息正在显示。有没有办法改变它?SelectionChangedEventArgs将包含取消选择的项目以及选定的项目。使用e.AddedItems获取新选择的项目。例如varaddedItems=e.AddedItems;如果(addedItems.Count>0){varselectedItem=addedItems[0];File_Load_List(selectedItem.ToString(),_tempList);这样您就不必担心在更新控件之前或之后引发事件,但您确实知道事件参数包含正确的信息。通过MessageBox调用,您可以允许UI更新,并在代码执行之前更改选择。您应该能够删除睡眠并使用File_Load_List(LB_Playlist.SelectedItem.Content.ToString(),_tempList);解决了。刚刚添加了Thread.Sleep(70);在尝试捕捉之前。以上就是C#学习教程:WPFListBoxSelectionChanged事件分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
