2010-08-30 8 views
6

Nous travaillons sur une application WPF avec le contrôle du navigateur Web. Lorsque l'utilisateur fait glisser la fenêtre, le navigateur Web est à la traîne derrière la fenêtre.Alternatives au contrôle WebBrowser dans WPF?

Est-ce que quelqu'un sait comment résoudre ce problème? A défaut, quelqu'un connaît-il une alternative au contrôle du navigateur?

Merci!

Répondre

4

Oui, aussi longtemps que vous n'avez pas besoin de fonctionnalités spécifiques à IE, vous pouvez utiliser Awesomium qui donne le même moteur de navigation que Google Chrome, sauf que tout est rendu en WPF pur. Pendant un certain temps c'était open source mais je crois que c'est en train de devenir un produit commercial.

1

Je n'ai entendu parler d'aucun contrôle WPF WebBrowser natif. Les seules options que je connais sont basées sur les contrôles Win32 qui sont intégrés dans les contrôles WPF afin d'être affichés. (Voir plus de détails au http://msdn.microsoft.com/en-us/library/ms752055.aspx)

Récemment, je dois utiliser le wrapper WPF pour le contrôle WebBrowser, et c'est très limité en ce qui concerne les options disponibles pour le développeur. Au cours de mes recherches, j'ai trouvé que vous êtes capable d'injecter des scripts ou du contenu html afin de modifier le comportement de la page. En outre, vous pouvez appeler le code .NET (par exemple, la fonction CSharp de Javascript).

Toutefois, les tâches telles que l'accès au cache, la modification des cookies sont des tâches difficiles ou le changement du comportement du navigateur Web sont très difficiles. Voici quand vous devrez utiliser DLL l'importation afin d'invoquer des routines non gérés (voir http://msdn.microsoft.com/en-us/library/aa984739(v=vs.71).aspx)

Il est possible de rechercher un contrôle WebBrowser comme par exemple:

http://code.google.com/p/csexwb2/

http://wpfchromium.codeplex.com/

J'espère que cela aide

0

Vous pouvez essayer CefSharp.Wpf qui utilise Chromium comme navigateur de base. Vous pouvez le trouver sur NuGet

Questions connexes