WPF WebBrowser Control – position: fixed O elemento salta durante a rolagem (Windows 8)

Usamos o controle WPF WebBrowser para exibir uma página incorporada. No Windows 8, observamos um comportamento de salto estranho de elementos com posição css: fixo durante a rolagem.

position: fixed está pulando ao rolar

A mesma página funciona bem no IE10 no Windows 8 (também FF, Chrome) e no controle WPF WebBrowser no Windows 7.

Alguém já viu esse comportamento antes e sabe uma correção para o movimento de salto?

É possível que o .NET Versão 4.5 usado na máquina de teste (Surface with Win 8) seja o problema em comparação com a versão .Net da máquina dev?

O ambiente de desenvolvimento:

  • Windows 7
  • Microsoft Visual Studio 2010 versão 10.0.30319.1 RTMRel
  • Microsoft .NET Framework Versão 4

O ambiente de teste:

  • Superfície
  • Windows 8
  • Microsoft .NET Framework versão 4.5

Cliente XAML:

     

HTML da página de demonstração:

     minimal position fixed example  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; }    
header
content
1
2
3
4
5
6
7

Se houver discrepâncias no comportamento da mesma página da Web carregada no controle WebBrowser e no navegador independente do IE, o problema pode ser corrigido com a implementação do Controle de Recurso do WebBrowser .

Uma vez implementado o controle do recurso, faz sentido verificar se o é observado pelo WebBrowser e se a página é realmente renderizada no modo padrão HTML5, veja como .

[UPDATE] A página de amostra do OP realmente é renderizada corretamente quando FEATURE_BROWSER_EMULATION é definido como 9000 e a marca META é fixada para ser ( content = ” IE9 “ não é um valor válido ).

Nós verificamos novamente em uma nova máquina também executando o Windows 8 e o erro foi embora, depois de algumas verificações, determinamos que a nova máquina tinha algumas novas atualizações para o Windows 8 instalado. Fomos verificar se há atualizações na superfície e depois de aplicar todas as atualizações, o erro parece ter desaparecido.

Sem qualquer recompilation ou configurações adicionais apenas aplicando as últimas atualizações do Win 8, o erro é corrigido.

Rolagem é suave agora. Mesmo executável sem alterações, então eu acho que foi algum bug nas bibliotecas de tempo de execução depois de tudo.