3

我在用 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 事件处理程序。

4

3 回答 3

7

你可以做ListBox1.UnselectAll()ListBox1.SelectedIndex = -1

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

于 2013-11-04T15:23:18.747 回答
5

您可以调用UnselectAll()方法

listBox1.UnselectAll();
于 2013-10-01T12:51:32.587 回答
0

覆盖OnNavigatedTo并设置null为选定项目。

于 2013-10-01T12:50:10.363 回答