【发布时间】:2011-08-05 04:04:52
【问题描述】:
这似乎是一个简单的答案,但我需要一些帮助来解决这个问题。
我有一个列表框,显示我网站上的 RSS 项目,绑定到一个列表。当用户点击一个特定的项目时,它会将他们带到一个只显示该图片的新页面。
我希望能够允许用户向左或向右滑动,并让它加载下一张或上一张图片。
我有附带手势监听器的工具包,并且我已经查看了这个先前提出的问题的代码(代码如下)
<Canvas>
<Image x:Name="imgImage" Source="{Binding ...}" Width="..." Height="...">
<Image.RenderTransform>
<CompositeTransform x:Name="imgImageTranslate" />
</Image.RenderTransform>
</Image>
private void GestureListener_DragCompleted(object sender, DragCompletedGestureEventArgs e)
{
if (e.Direction == System.Windows.Controls.Orientation.Horizontal)
{
var abs = Math.Abs(PANEL_DRAG_HORIZONTAL);
if (abs > 75)
{
if (PANEL_DRAG_HORIZONTAL > 0) // MovePrevious;
else //MoveNext();
e.Handled = true;
}
}
}
double PANEL_DRAG_HORIZONTAL = 0;
private void GestureListener_DragDelta(object sender, DragDeltaGestureEventArgs e)
{
if (e.Direction == System.Windows.Controls.Orientation.Horizontal)
{
PANEL_DRAG_HORIZONTAL += e.HorizontalChange;
var baseLeft = -imgImage.Width / 2;
if (PANEL_DRAG_HORIZONTAL > 75) imgImageTranslate.OffsetX = baseLeft + PANEL_DRAG_HORIZONTAL;
else if (PANEL_DRAG_HORIZONTAL < -75) imgImageTranslate.OffsetX = baseLeft + PANEL_DRAG_HORIZONTAL;
else imgImageTranslate.OffsetX = baseLeft;
}
}
}
private void GestureListener_DragStarted(object sender, DragStartedGestureEventArgs e)
{
PANEL_DRAG_HORIZONTAL = 0;
}
我遇到的问题是如何使用数据绑定列表创建 MoveNext() 和 MovePrevious() 函数调用。
我现在的代码从 SelectedItem RSS 列表框中获取根视觉对象,它是 Web 上图像的 URL,并将其作为下一页上的 URL 传递。
但是我如何能够参考左边或右边的下一张图片(沿着列表数组)?
【问题讨论】:
标签: c# silverlight windows-phone-7 listbox observablecollection