我在网格中有一个图像元素以及其中的其他控件。我希望能够缩放图像。我不想将它放在滚动查看器中,因为我不知道图像的尺寸,因为它是一个通用应用程序,我有很多Adpative UI和ScrollViewer混淆整个事情。图像从网上下载。当用户向左或向右滑动时,图像的源应该变为上一个或下一个图像。我在LinkedList中保存图像的来源并相应地更新源。
我使用以下代码实现了滑动以更改图像源
MediaControl.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;
MediaControl.ManipulationStarted += (s, e) => { X1 = (int)e.Position.X; Y1 = (int)e.Position.Y; };
MediaControl.ManipulationCompleted += (s, e) => {
X2 = (int)e.Position.X;
Y2 = (int)e.Position.Y;
if (Math.Abs(X1 - X2) >= 50 && Math.Abs(Y1 - Y2) < 20)
{
{
if (X1 > X2)
{
NextPostButton_Click(s, e);
}
else
{
PreviousPostButton_Click(s, e);
}
}
};
};
我希望在更改信号源的同时在我的图像中使用缩放功能,图像应缩小。我想要缩放和滑动功能,而不会影响其他操作。我该怎么做呢?我是初学者,没有经验非常复杂的Pointer事件。如果有人可以帮助我,或者指出我学习这个的好资料,我会永远感激。 谢谢。
答案 0 :(得分:0)
您可以注册ManipulationDelta事件,并使用ManipulationDelta.Scale属性来处理缩放。
{{1}}
有关ManipulationDelta的更多信息,请参阅 https://msdn.microsoft.com/en-us/library/system.windows.input.manipulationdelta.scale(v=vs.110).aspx
有关ManipulationModes的详细信息,请参阅 https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.input.manipulationmodes
答案 1 :(得分:0)
在其中使用带有ScrollViewer的FlipView和其中的Image。然后,您只需将FlipView的ItemsSource绑定到Uri的集合。这将自动保持缩放功能和滑动功能。在浏览图像时,每个图像都将保留其缩放系数。这在移动设备和台式机/平板电脑上非常有效。
如果您需要一些示例代码,请告诉我。我现在正在打电话,所以做起源有点困难。