13 Stimmen

Welche funktionellen Unterschiede bestehen zwischen der WPF- und der WinForms-WebBrowser Steuerung?

Die WPF-WebBrowser-Steuerung sieht großartig aus, aber das im Laufe der Zeit über die WinForms-WebBrowser angesammelte Wissen ist erheblich und es ist schwer, die Arbeit wie csExWB zu ignorieren. Es wäre schön zu wissen, welche funktionalen Mängel oder Vorteile in der WPF-WebBrowser-Steuerung von .NET 3.5 gegenüber der WinForms-WebBrowser-Steuerung bestehen. Insbesondere, ob es möglich ist, eine Funktionalität ähnlich wie csExWB auf der WPF-WebBrowser-Steuerung aufzubauen.

9voto

Marco Luglio Punkte 3297

Von einem ganzen Tag voller Frustration mit dem WPF-Komponenten hier ist, was ich entdeckt habe. Anscheinend bietet der WinForms Webbrowser viel mehr Methoden und Eigenschaften. Zum Beispiel gibt es keinen IsWebBrowserContextMenuEnabled, ActiveXInstance, usw. im WPF-Webbrowser.

Außerdem enthält das document jeder unterschiedliche Arten von Objekten. Winform enthält ein Dokument vom Typ System.Windows.Forms.HtmlDocument mit einigen interessanten Methoden und Eigenschaften wie PointToClient und GetElementFromPoint. Das WPF-Webbrowser-Dokument ist ein Dokument vom Typ Object, das in ein mshtml.HtmlDocument umgewandelt werden kann, das nur die gleichen Methoden und Eigenschaften wie ein Standard-HTML + JavaScript-Dokument bietet. Nicht sehr aufregend. Ich weiß nicht, ob es in etwas anderes (Nützliches) umgewandelt werden kann, da es keine richtige Dokumentation dazu gibt.

Der einzige Nachteil, den ich beim WinForms Webbrowser bemerken konnte, ist, dass die Schaltflächen und Scrollleisten innerhalb des Komponenten nicht das gleiche Aussehen wie die nativen WPF-Steuerelemente haben.

3voto

Marc Gravell Punkte 970173

Ich muss zugeben, ich kenne die Unterschiede nicht, aber wenn Sie Probleme haben, könnten Sie vielleicht WindowsFormsHost verwenden, um die WinForms-Version in WPF zu hosten, so wie hier? Letztendlich handelt es sich bei beiden um einen Wrapper um shdocvw, daher gelten Prinzipien wie "reines WPF" nicht wirklich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X