我在我的应用程序和一些pivotItems WebBrowser中安装了PivotControl。我注意到WebBrowser块滑动到下一个枢轴。我不确定这是不是可以,因为其他的pivots幻灯片和那个带有WebBrowser的幻灯片不可以,这可能会让人感到困惑。这种行为正确吗?有没有办法解决这个问题?(也许是一些小技巧)
下面是我的xaml代码:
<controls:Pivot Title="MY PIVOT">
<controls:PivotItem Header="first">
<TextBlock Text="First Pivot" />
</controls:PivotItem>
<controls:PivotItem Header="second">
<TextBlock Text="Second Pivot" />
</controls:PivotItem>
<controls:PivotItem Header="third">
<phone:WebBrowser Source="http://www.stackoverflow.com" />
</controls:PivotItem>
</controls:Pivot>发布于 2011-03-02 01:42:01
这是正确的行为。
WebBrowser这样做是为了支持网页的水平滚动。
这就是为什么不建议将这样的控件放在Pivot中的原因。例如,尝试将Map控件放入Pivot中。
我建议你把你的WebBrowser从Pivot中拿出来,放在一个单独的页面上。
发布于 2011-03-02 01:45:01
出于这个原因,不建议在Pivot或Panorama中包含接受输入手势本身的控件(如Map或WebBrowser控件)。然而,有一篇关于Preventing the Pivot or Panorama controls from scrolling的文章应该会给你一个解决方案。
发布于 2011-10-05 18:55:24
我怀疑这是不是一个正确的行为,因为它切断了这两个控件的可用性。WebBrowser这样做的事实是无关紧要的,因为网页可以通过标签禁用水平滚动,并强制渲染器重排文档以使其始终适合屏幕。在这种情况下,WebBrowser完全没有理由使用Pivot所需的horiz-swipes。
几个月前,我已经在一个应用程序中解决了类似的问题,而使用Pivot -它是可以规避的。我在这里写过:Windows Phone 7 WebBrowser control swallows manipulation events?,而且在那篇文章中还有另一个链接到另一个我的……对不起,它有点散开了,我没有时间把它放在一个地方。
如果我没记错的话,基本的技巧是在WebBrowser上使用GestureListener,监听flicks并相应地强制Pivot.SelectedIndex++/-。它将允许轻拍和移动,但不会提供拖动页面然后捕捉到下一个/上一个页面的Pivot-y动画。对于这个动画,需要另一个技巧,而我另一篇文章中的IIRC就是关于这个的
请注意:是GestureListener,而不是操作事件!这些(API7.0,7.1,7.5rc)被WebBrowser (在7.1+中-被内部PanZoomContainer,在7.0中-它们被TileHost简单地屏蔽了)!GestureListener监听事件的“其他来源”,并看到所有内容,即使mani-events已死。在7.1+上,也可以使用mani-events入侵WebBrowser并劫持它,但它更难(我认为在我的另一篇文章中也是如此)
https://stackoverflow.com/questions/5158156
复制相似问题