Windows phone 7 WP7动态枢轴

Windows phone 7 WP7动态枢轴,windows-phone-7,Windows Phone 7,我在实现动态枢轴控制时遇到问题。 我想做的是,使用pivot创建一个图像库,您可以通过滑动来更改图像。 这与pivot控件本机协同工作,方法是将其itemsource绑定到我的可观察集合上,以便在每个pivotitem上显示一个图像。 问题是,当我的图库包含10多张图片时,此解决方案会占用大量内存,因为它会创建相同数量的数据透视项 我尝试用3个项目初始化我的收藏,当前显示的一个,上一个和下一个,当用户刷卡时,我更新了我的列表。 我使用“SelectionChanged”事件和手势侦听器尝试了这一

我在实现动态枢轴控制时遇到问题。 我想做的是,使用pivot创建一个图像库,您可以通过滑动来更改图像。 这与pivot控件本机协同工作,方法是将其itemsource绑定到我的可观察集合上,以便在每个pivotitem上显示一个图像。 问题是,当我的图库包含10多张图片时,此解决方案会占用大量内存,因为它会创建相同数量的数据透视项

我尝试用3个项目初始化我的收藏,当前显示的一个,上一个和下一个,当用户刷卡时,我更新了我的列表。 我使用“SelectionChanged”事件和手势侦听器尝试了这一点。。到目前为止还没有成功。
有人试过这样做吗?如果是,我如何实现它?

如果您更新列表中的项目,您的绑定将丢失,因此可能无法正常工作

  • 可能有效的方法如下(但我尚未测试):
  • 从包含五个项目的初始集合开始
    确保在列表中显示第三项,以便可见项位于列表中间。<李>
  • 更改可见页面时,将引发SelectionChanged事件
  • 如果向右移动,所选索引将更改为第四个元素。在本例中,删除列表中的第一个元素并添加新的第五个元素
  • 如果向左移动,则执行相反的操作,并删除列表中的最后一个元素
这将确保您始终可以在不删除或添加任何可见项的情况下来回移动


我不确定这是否有效,但值得一试。:-)

不要这样做。很多人都尝试过,但它无法扩展到大量图像


虽然如果可以使用pivot控件创建一个简单的图像导航控件会非常好,但这并不实用。你需要用一种不同的方法来完成更复杂的过程。(很多人都尝试过不同的方法。选择最适合您的需求/体验/偏好的方法。)

我也做过类似的事情,但不使用枢轴控制。下载Silverlight工具包(http://silverlight.codeplex.com/)并使用手势侦听器捕捉滑动动作:

<toolkit:GestureService.GestureListener>
        <toolkit:GestureListener DragCompleted="OnDrag"/>
</toolkit:GestureService.GestureListener>

然后在代码中,您有一个事件处理程序,它捕获刷卡事件,并相应地更新图像。以下是我用来更改页面的事件处理程序:

private void OnDrag(object sender, DragCompletedGestureEventArgs e)
{
    if (e.Direction == System.Windows.Controls.Orientation.Horizontal)
    {
        if (e.HorizontalChange < 0)
        {
            TurnPagesForward(1);
        }
        else
        {
            TurnPagesBackward(1);
        }
    }
}
private void OnDrag(对象发送方,dragcompledgestureeventargs e)
{
if(e.Direction==System.Windows.Controls.Orientation.Horizontal)
{
如果(如水平变化<0)
{
向前翻页(1);
}
其他的
{
反向翻页(1);
}
}
}

好的。。我仍然感到惊讶的是,他们没有想到一个组件可以在不提高内存消耗的情况下轻松完成这项工作。否则,我想也许一个简单的页面,处理手势事件就可以做到这一点。我只需要应用故事板来模拟刷卡效果。@Alexbdx是的,这太可惜了。也许有一天我们会得到一些东西,谢谢你的建议,我会尝试一下,让你知道“确保你在列表中显示第三项,以便可见项在列表中间。”我在这里停了下来,因为pivot中的一个已知错误,不允许将所选索引设置为第三个元素:谢谢。我对它进行了调整,添加了一个动画,以使其具有分页效果。它就像一个符咒!伟大的你介意把你为动画所做的事情贴出来吗?我很想看看它是如何工作的,并可能在我的代码中使用类似的东西。如果你能分享动画的代码,你会喜欢吗?