我在用C#编写的Windows Phone应用程序代码中使用列表框。

<Grid>
<ListBox x:Name ="gsecList" ItemsSource="{Binding}" SelectionChanged="ShowGsecDetails">


事件处理程序:

private void ShowGsecDetails(object sender, SelectionChangedEventArgs e)
{
    string indexCode = gsecList.SelectedIndex.ToString();
    NavigationService.Navigate(new Uri("/contactDetail.xaml?type=gsec&index="+indexCode, UriKind.Relative));
}


我正在使用事件处理程序listBox1.SelectionChanged导航到其他页面,具体取决于用户所做的选择。现在,当我再次导航回页面时,我看到listITem仍然处于选中状态。如何取消选择该项目?我尝试使用listBox1.SelectedIndex = -1。但这似乎调用了selectionChanged事件处理程序。

最佳答案

您可以执行ListBox1.UnselectAll()ListBox1.SelectedIndex = -1

但是在第二种情况下,您必须在SelectionChanged事件处理程序中放置一个断点,以查看index是否为-1(在这种情况下,请不要执行代码)。希望这可以帮助

10-04 19:26