取消选择c#中的列表框项

时间:2013-10-01 12:44:21

标签: c# wpf windows-phone-7 listbox

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

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

您可以拨打UnselectAll()方法

listBox1.UnselectAll();

答案 2 :(得分:0)

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