XAML 在WP7.1列表框中,选定的索引似乎没有按预期工作,如何将选定的项显示在顶部?

mnowg1ta  于 2023-04-27  发布在  其他
关注(0)|答案(2)|浏览(105)

场景:

  • 在Windows Phone 7中,我使用列表框。
  • 假设有200个项目。
  • 现在我选择列表中的第150项
  • 我希望列表加载并选择(并显示)加载后列表顶部的第150个项目。

问题:

  • 我正在使用本页提到的HookScrollViewer()(ListBox offset in WP7
  • 第一次加载项目时,列表没有显示正确的项目(比如显示第148个项目)。
  • 我退出该页面并再次单击第150项
  • 现在列表索引是正确的,它显示第150项正好在顶部。

问题:

  • 我是否使用了正确的解决方案?
  • 我做错了什么,我试图找出解决方案,但失败了!

提示:

  • 如果您有Windows Phone,请download the app
  • 打开任何一章,并在该章中间添加书签(通过长按)。
  • 关闭应用程序,然后再次打开应用程序。
  • 单击书签将其打开。
  • 第一次它不会去确切的位置。
  • 现在不要关闭应用程序,只需按下后退按钮,然后再次单击书签。
  • 这一次的位置是正确的!
  • 问题是第一次有什么不好

阅读页面代码:

非常感谢!

pepwfjgg

pepwfjgg1#

经过努力,我找到了实际问题和解决办法。

实际问题:

  • 我使用外部字体,而不是那些默认情况下包括在可湿性粉剂。
  • 外部字体需要一些时间才能加载到内存中,然后显示文本。
  • 同时,在字体被加载的同时,列表已经被加载。
  • 最后显示文本,并且(可能是因为展开),所选索引位置向下移动。
  • 没有关闭应用程序,字体似乎停留在内存中,下一次不需要很长时间,指针id显示正确。
    我的解决方案:
  • 我在加载主页面的同时加载了(外部)字体。这花费的时间可以忽略不计,因此不会影响应用程序的效率(就加载时间而言)

我希望任何建筑师能更好地解释发生了什么,或者换句话说,我有兴趣知道“实际问题”的技术背景。
非常感谢所有提出建议的人。

kq0g1dla

kq0g1dla2#

我猜你的数据没有更新。你可以尝试使用INotifyPropertyChanged,看看这个例子你就会明白如何使用

相关问题