ich entwickle eine WPF Anwenung, die ein Webbrowser Control verwendet, um eine Seite aus dem Internet zu laden. Auf dieser Seite kann man zu seinen Rechungdaten navigieren. Wenn man auf eine Rechnung klickt, öffnet sich ein neues IE Fenster. Ich würde gerne den HTML Code einer Rechnung in meinem Programm abgreifen, um die Rechnungsdaten zu verarbeiten. Wenn aber für die Rechnung ein neues Fenster geöffnet wird, klappt das nicht. Die Rechnung müsste als aktuelle Seite im Webbrowser Control geladen sein. Kann ich irgendwie auf das onClick=window.open in der Seite Einfluss nehmen? Kommt man mit HTMLDocument an die onClick Elemente ran? Oder könnte man die Click Events im Control nicht abfangen? Allerdings habe ich gelesen, dass das HTMLDocument die Events nicht ans Control bubbelt.
Aus irgend einem Grund hat Microsoft unter WPF die Eigenschaft "Document" verhunzt. Unter Windows Forms war deine Aufgabe einfach mit
webBrowser1.Document.Click
zu erledigen.
Unter WPF musst du zunächst die Assembly Microsoft.mshtml referenzieren und dann das Document in ein paar Merkwürdige Interfaces casten. Dann klappt's: