WP8使用硬件后退按钮后无法重新选择列表框项

时间:2013-04-10 03:12:39

标签: c# xaml windows-phone-8

wp8,C#,VS12

我有一个列表框项目,选中/点击后会将用户带到另一个页面... WinePage.xaml

    <ListBox
        SelectedIndex="-1"
        SelectionChanged="OpenWinePage_Click"
        x:Name="allItemsListBox" 
        ItemsSource="{Binding AllItems}" 
        Margin="12, 0, 12, 0" Width="440"
        ItemTemplate="{StaticResource WineListBoxItemTemplate}" />

当我使用WP8的硬件后退按钮返回MainPage.xaml时,我刚刚单击的ListBox不再可选/可点击。但我希望能够回到那个特定的ListBox。

我的MainPage.xaml.cs页面中将用户带到WinePage.xaml的代码是

    private void OpenWinePage_Click(object sender, EventArgs e)
        {
        NavigationService.Navigate(new Uri("/WinePage.xaml", UriKind.Relative));
        }

我需要做什么才能在返回时允许ListBox可选/可点击?

谢谢!

[R

1 个答案:

答案 0 :(得分:2)

包含列表框的页面可能不会被销毁,因此当您在其中选择项目时,该项目的状态可能会持续存在。

尝试将其索引设置为-1,然后导航。

allItemsListBox.SelectedIndex = -1;

private void OpenWinePage_Click(object sender, EventArgs e)
{
    allItemsListBox.SelectedIndex = -1;
    NavigationService.Navigate(new Uri("/WinePage.xaml", UriKind.Relative));
}