0

我正在开发一个带有silverlight应用程序的windows phone 7,我想用手指触摸滑动图像,任何人都可以帮助我如何做到这一点

4

1 回答 1

1

您需要订阅 ManipulationDelta 事件,该事件会向您发送有关触摸事件所做更改的信息。例如:

<Image ManipulationDelta="abc_ManipulationDelta" Height="100" Width="100" Name="abc" Source="smiley.jpg" Stretch="Fill"/>

现在,您的事件处理程序应该类似于:

 private void abc_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
        {
            abc.Margin = new Thickness(abc.Margin.Left +e.DeltaManipulation.Translation.X,
                abc.Margin.Top + e.DeltaManipulation.Translation.Y,
                abc.Margin.Right, abc.Margin.Bottom);
        }

e.DeltaManipulation.Translate通知我们触摸手势在 X 和 Y 方向上的偏移量。我已经将图像控件的边距更改了该数量。如果存在向下拖动,则 Translate.Y 为 +ve,即上边距增加,向上拖动则相反。您可以使用更复杂的边距更改来产生更好的拖动效果,但这个答案为您提供了有关该技术的基本概念。

于 2012-07-14T15:53:49.890 回答