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.
Antworten
Zu viele Anzeigen?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.
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.