如何导航到特定位置的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>
谢谢!
如果您使用的是WinRT,您可以在页面构造函数中编写以下代码来缓存它,这样当您返回该页时,位置将是完整的:
this.NavigationCacheMode = NavigationCacheMode.Required;
从你的样品中,我真的看不出你是使用ListBox
还是ListView
,我假设ListView
更好,因为ListBox
已经不需要了。
我还注意到的一件事是,你使用一个简单的{Binding}
为你的ItemsSource
,所以也许它是重置每次你回去因为这个(如果你正在做的事情这样做,因为这是不可见的从你的示例代码)。我总是有一个类型为ObservableCollection
的附加属性并绑定到它,例如ItemsSource={Binding MyItems}
。这样,只有当我重置属性MyItems
时,列表才会重置。