2011-03-01 30 views
1

我在我的應用程序和一些pivotItems WebBrowser中有PivotControl。 我注意到WebBrowser阻止滑動到下一個樞軸。我不確定這是否正常,因爲 其他支點幻燈片和那個WebBrowser沒有,這可能會讓人困惑。這是 行爲是否正確?有辦法解決這個問題嗎?在這裏(也許有點劈)WebBrowser塊在PivotControl中滑動

是我的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> 

回答

5

這是正確的行爲。

WebBrowser是否啓用了爲網頁啓用水平滾動功能。

這就是爲什麼將這樣的控件放在Pivot中不可取的原因。例如,嘗試在Pivot內部放置一個Map控件。

我建議你從Pivot中取出WebBrowser並放在一個單獨的頁面中。

0

我懷疑這是一個正確的行爲,因爲它削弱了這兩個控件的可用性。 WebBrowser這樣做並不相關,因爲網頁CAN DISABLE通過標籤進行水平滾動,並強制渲染器重排文檔,使其始終適合屏幕。在這種情況下,WebBrowser完全沒有理由使用Pivot需要的水平滑動。

幾個月前,我已經在一個應用程序中解決了類似的問題,並且使用了Pivot--這是可以避免的。我在這裏寫過:Windows Phone 7 WebBrowser control swallows manipulation events?,並且在那篇文章中是另一個鏈接到另一個地雷..對不起,它分裂了一點,我沒有時間把它放在一個地方。

如果我能夠正確記得,基本的技巧是通過WebBrowser使用GestureListener,相應地聽輕彈並強制Pivot.SelectedIndex ++ /。它將允許輕彈&移動,但不會提供拖動頁面的Pivot-y動畫,然後捕捉到下一個/ prev頁面。對於這個動畫,另一個竅門是需要和IIRC,我的其他職位是關於它

請注意:GestureListener,而不是操縱事件!那些被WebBrowser消滅(API 7.0,7.1,7.5rc)(在7.1+中 - 由內部的PanZoomContainer,在7.0中 - 它們被TileHost簡單地沉默了)! GestureListener監聽事件的「其他來源」,即使mani事件已死亡,也可以看到所有事件。在7.1+上有可能入侵WebBrowser並劫持使用mani事件,但它更難(它也在我的另一篇文章中,我認爲)