Windows Phone 8(WP8)ScrollViewer,具有不可滚动的WebBrowser Control Inside

时间:2013-10-17 19:33:02

标签: c# windows-phone-8 scroll webbrowser-control

Ich有一个WP8 XAML项目,在一个页面上我有以下XAML结构:

    <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneBackgroundBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <StackPanel x:Name="TitlePanel"
                Grid.Row="0"
                Margin="12,17,0,17">
        <TextBlock Text="{Binding Article.Title}"
                   Style="{StaticResource PhoneTextNormalStyle}"
                   Margin="12,0" />
        <TextBlock Text="{Binding Article.LastUpdateDate}"
                   Style="{StaticResource PhoneTextNormalStyle}"
                   Margin="12,0" />
    </StackPanel>

    <ScrollViewer Grid.Row="1" x:Name="ScrollViewer">
        <StackPanel x:Name="ContentPanel" />
    </ScrollViewer>

</Grid>

StackPanel用于显示不同的内容。 Letzt说一些图像,一个web浏览器控件和一些更多的图像。

我的Webbrowser Control的高度符合内容高度。所以我不想在Webbrowser控件内滚动。我按照这篇文章来做到这一点: http://www.scottlogic.com/blog/2011/11/17/suppressing-zoom-and-scroll-interactions-in-the-windows-phone-7-browser-control.html

所以我检查滚动事件并忽略它:

        private void Border_ManipulationDelta(object sender,
                                          ManipulationDeltaEventArgs e)
    {
        // suppress zoom
        if (e.DeltaManipulation.Scale.X != 0.0 ||
            e.DeltaManipulation.Scale.Y != 0.0)
            e.Handled = true;

        // optionally suppress scrolling
        if (ScrollDisabled)
        {
            if (e.DeltaManipulation.Translation.X != 0.0 ||
              e.DeltaManipulation.Translation.Y != 0.0)
            {
                e.Handled = true;
            }
        }
    }

到目前为止这个工作正常,但是如果焦点在我的webbrowser控件上,我尝试滚动,webbrowser不滚动,但我想滚动父滚动查看器。

是否有可能将该事件推送到滚动查看器。

或者是另一种可能只是在我的控件中禁用滚动,但总是滚动我的滚动查看器?

致以最诚挚的问候,

麦克

0 个答案:

没有答案