更新Listbox的StackPanel后保留位置

时间:2011-11-23 08:28:24

标签: silverlight windows-phone-7.1

我是SilverLight和Windows Phone编程的新手。我正在开发一个Twitter应用程序。在时间轴视图中 - 当我点击刷新应用程序时,提取Twitter提要数据并在已有的提要之上进行更新。我将所有早期的Feed保存在独立存储中。

现在我的问题是每当我刷新Feed列表框位置都会到顶部。如何保留滚动较早的位置?我是SilverLight和Windows Phone的新手。

<ListBox ItemsSource="{Binding feeds}" Margin="0,10,0,0">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <StackPanel>
        <TextBlock Text="{Binding FeedText}" Style="{StaticResource PhoneTextNormalStyle}" />
        <TextBlock Text="{Binding FeedDate}" Style="{StaticResource PhoneTextNormalStyle}" />
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

1 个答案:

答案 0 :(得分:0)

这个问题可能会为您解答:Restore Scroll Position in LongListSelector after tombstone

这个问题也许有用:Restoring exact scroll position of a listbox in Windows Phone 7

很大程度上取决于您加载/刷新数据的方式(替换所有数据或更新项目)。在某些情况下,您需要滚动到不同的位置,因为在您希望保持相对位置的其他方案中内容已更改(或项目的顺序)。

从功能的角度确保您知道自己想要发生什么。