尝试使Windows商店应用中由两次轻击事件触发的滚动 View 缩小。

这是应该发生的代码

private void MainPhotoDisplay_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
    MainPhotoDisplayscrollViewer.ChangeView(null, null, 1.0F,true);
}

但是如果我在模拟器中放大然后双击,则什么也不会发生。
事件确实触发并且该方法已运行,但没有任何 react , View 仍处于放大状态。

这是它的文档:http://msdn.microsoft.com/en-us/library/windows/apps/dn252762.aspx

这个过时的方法:
 MainPhotoDisplayscrollViewer.ZoomToFactor(1);

效果很好,但遗憾的是它没有动画,这会带来糟糕的用户体验。并不是我真正想要的。

关于为什么什么都没发生的任何想法?

最佳答案

另一种解决方案是在指令之前添加Task.Delay调用。

真的很奇怪,但是有效。

await Task.Delay(1);
scroller.ChangeView(null, null, null, false); // whatever

09-04 06:56
查看更多