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.
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:
The Test Environment:
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>
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.