如何导航到特定位置的ListBox Windows Phone 8.1

本文关键字:ListBox 位置 Windows Phone 定位 何导航 导航 | 更新日期: 2023-09-27 18:08:07

我有一个列表框,有很多项目,每个项目当点击去一个新的页面,我想要的是当我从第二页返回,停留在同一位置的项目被点击!

这是我的清单!

<ListBox x:Name="list" Loaded="ListView_Loaded" SelectedItem="true"  SelectionChanged="searchResultsList_SelectionChanged" ItemsSource="{Binding}" Background="{x:Null}">
                                    <!--<ListView.ItemContainerStyle>
                                        <Style TargetType="ListViewItem">
                                            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                                            <Setter Property="Margin" Value="0,0,0,15" />
                                        </Style>
                                    </ListView.ItemContainerStyle>-->
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <Grid>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="80" />
                                                    <ColumnDefinition Width="10" />
                                                    <ColumnDefinition Width="*" />
                                                </Grid.ColumnDefinitions>
                                                <Border Width="80" Height="80">
                                                    <Image Source="{Binding Caminho}" />
                                                </Border>
                                                <StackPanel Margin="0,16,0,0" Grid.Column="2">
                                                    <TextBlock Foreground="White" Text="{Binding NomeCurso}" TextWrapping="Wrap" FontSize="{StaticResource TextStyleExtraLargeFontSize}" />
                                                </StackPanel>
                                            </Grid>
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>

谢谢!

如何导航到特定位置的ListBox Windows Phone 8.1

如果您使用的是WinRT,您可以在页面构造函数中编写以下代码来缓存它,这样当您返回该页时,位置将是完整的:

this.NavigationCacheMode = NavigationCacheMode.Required;

从你的样品中,我真的看不出你是使用ListBox还是ListView,我假设ListView更好,因为ListBox已经不需要了。

我还注意到的一件事是,你使用一个简单的{Binding}为你的ItemsSource,所以也许它是重置每次你回去因为这个(如果你正在做的事情这样做,因为这是不可见的从你的示例代码)。我总是有一个类型为ObservableCollection的附加属性并绑定到它,例如ItemsSource={Binding MyItems}。这样,只有当我重置属性MyItems时,列表才会重置。