gpt4 book ai didi

c# - 如何导航到 ListBox Windows Phone 8.1 上的特定位置

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:01 25 4
gpt4 key购买 nike

我有一个包含很多项目的列表框,点击每个项目都会进入一个新页面,我想要的是当我从第二页返回时,停留在点击项目的相同位置!

这就是我的 list !

<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 有点不再需要了。

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

关于c# - 如何导航到 ListBox Windows Phone 8.1 上的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32040039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com