一尘不染

WPF WebBrowser Control - position:fixed Element jumps while scrolling (Windows 8)

c#

We use the WPF WebBrowser control to display an embedded page. On Windows 8 we
observe a strange jumping behavior of elements with css position:fixed while
scrolling.

position:fixed is jumping when
scrolling

The same page works fine in IE10 on Windows 8 (also FF, Chrome) and in the WPF
WebBrowser control on Windows 7.

Has anyone seen this behavior before and knows a fix for the jumping motion?

Is it possible the .NET Version 4.5 used on the test machine (Surface with Win
8) be the Problem as compared to the .Net Version 4 on the dev machine?

The Development Environment:

  • Windows 7
  • Microsoft Visual Studio 2010 Version 10.0.30319.1 RTMRel
  • Microsoft .NET Framework Version 4

The Test Environment:

  • Surface
  • Windows 8
  • Microsoft .NET Framework Version 4.5

Client XAML:

<Window x:Class="EmbeddedBrowserTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <WebBrowser HorizontalAlignment="Stretch" Name="webBrowser" VerticalAlignment="Stretch" Grid.Row="1" />
    </Grid>
</Window>

Demo Page HTML:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <title>minimal position fixed example</title>
    <style>
        body {
            margin: 0px
        }           
        .header{
            height: 60px;
            width: 960px;
            background-color: #cccccc;
            top: 0px;
            left: 0px;
            position: fixed;
            z-index: 10;
        }    
        .content{
            padding-top: 60px;
            height: 420px;
            width: 960px;
            background-color: lightsteelblue;
        }    
    </style>
</head>

<body>
    <div class="header">
        header
    </div>    
    <div class="content">
        content <br> 1 <br> 2 <br> 3 <br> 4 <br> 5 <br> 6 <br> 7 <br>
    </div>                
</body>

</html>

阅读 447

收藏
2020-05-19

共1个答案

一尘不染

We checked again on a new Machine also running Windows 8 and the error was
gone, after some checks we determined that the new Machine had some new
Updates for Windows 8 installed. We went to check for Updates on the Surface
and after applying all Updates the Error seems to be gone.

Without any recompilation or further settings just by applying the latest
Win 8 Updates the error is fixed.

Scrolling is smooth now. Same executable no changes, so i guess it was some
bug in the runtime libs after all.

2020-05-19