2017-05-17 8 views
0

私はuwpでページを作成しようとしています。私は魔女とWebViewをいくつか持っていたい。ダブルスクロールを避ける方法(ScrollViewer全体に1つ、WebViewで2つ目)?私はScrollViewerでのみスクロールしたいです。ダブルスクロールを解除する方法。 xaml uwpのScrollViewerのWebView

enter image description here

私のXAMLコード

<ScrollViewer> 

      <StackPanel Name="NewsInformation" Margin="5,0,5,0"> 
       <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Height="Auto"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="150" /> 
         <RowDefinition Height="auto" /> 
         <RowDefinition Height="*" /> 
        </Grid.RowDefinitions> 


        <Image Source="{Binding Image,Converter={StaticResource ImageShow}}" Grid.Row="0" Stretch="UniformToFill" /> 
        <!--<Canvas Canvas.ZIndex="1000" Grid.Row="0">--> 
        <!--<TextBlock Text="{Binding Title}" VerticalAlignment="bottom" TextWrapping="Wrap" Foreground="red" />--> 
        <StackPanel Grid.Row="0" VerticalAlignment="bottom" Background="#cc000000" Padding="10"> 
         <TextBlock Text="{Binding SneakPeak}" TextWrapping="Wrap" MaxLines="2" FontSize="15" Foreground="#ffffff" /> 
        </StackPanel> 
        <!--</Canvas>--> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Grid.Row="1" Margin="10, 10, 10, 5"> 
         <TextBlock Text="{Binding CreationDate}" Foreground="#595959" TextWrapping="Wrap" FontSize="7"/> 
         <TextBlock Text="|" Margin="5,0,5,0" Foreground="#595959" FontSize="7"/> 
         <TextBlock Text="{Binding Author.Name}" Foreground="#595959" FontSize="7"/> 
         <TextBlock Text="{Binding Author.Surname}" Foreground="#595959" Margin="3,0,0,0" FontSize="7"/> 
        </StackPanel> 
        <StackPanel Orientation="Vertical" VerticalAlignment="Top" Grid.Row="2" Margin="10, 0, 10, 20"> 
         <TextBlock Text="{Binding Title}" HorizontalAlignment="Stretch" FontSize="12" TextWrapping="Wrap" Margin="0, 0, 0, 10" VerticalAlignment="Top" FontWeight="Bold"/> 
         <!--<TextBlock Text="{Binding Content}" HorizontalAlignment="Stretch" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="10"/>--> 
         <WebView x:Name="newsContent" Height="400" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/> 
        </StackPanel> 
       </Grid> 
     </StackPanel> 
    </ScrollViewer> 

私はWebViewのからすべてのHTMLを表示し、すべてのページに1つのスクロールを持って欲しいです。

答えて

1

これはXAMLでは実行できません。 これは、HTMLコンテンツ自体を変更することで実行できます。たとえば、あなたのHTMLページに、次の体を宣言することによって、垂直スクロールバーを削除することができます

<body style="overflow-y: hidden">....</body> 

ページがスクロールバーを無効にするために、ロードされた後、あなたはまた、スクリプトを挿入することができます。

myWebView.NavigateToString("<html><body>my very long content</body></html>"); 
myWebView.LoadCompleted += async (s, args) => await myWebView.InvokeScriptAsync("eval", new string[] { "document.body.style.overflowY='hidden'" }); 
関連する問題