我在用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));
}
我使用eventhandler listBox1.SelectionChanged
导航到其他页面,具体取决于用户所做的选择。现在当我再次导航回页面时,我看到listITem仍然被选中。我该如何取消选择该项目?我尝试使用listBox1.SelectedIndex = -1
。但这似乎调用了selectionChanged事件处理程序。
答案 0 :(得分:6)
您可以ListBox1.UnselectAll()
或ListBox1.SelectedIndex = -1
但是在第二种情况下,你必须在SelectionChanged
事件处理程序中放置一个断点,以查看index是否为-1(在这种情况下不执行代码)。希望这有帮助
答案 1 :(得分:5)
您可以拨打UnselectAll()方法
listBox1.UnselectAll();
答案 2 :(得分:0)
覆盖OnNavigatedTo
并将null
设为选定项目。