尝试使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