Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is code that should do exactly what you want with comments to explain what is going on:</p> <pre><code>public partial class MainWindow : Window { /// &lt;summary&gt; /// This is a helper class. It appears that we can't mark the Window as ComVisible /// so instead, we'll use this seperate class to be the C# code that gets called. /// &lt;/summary&gt; [ComVisible(true)] public class ComVisibleObjectForScripting { public void ButtonClicked() { //Do whatever you need to do. For now, we'll just show a message box MessageBox.Show("Button was clicked in web page"); } } public MainWindow() { InitializeComponent(); //Pass an instance of our helper class as the target object for scripting webBrowser1.ObjectForScripting = new ComVisibleObjectForScripting(); } private void Window_Loaded(object sender, RoutedEventArgs e) { //Navigate to your page somehow webBrowser1.Navigate("http://www.somewhere.com/"); } private void webBrowser1_LoadCompleted(object sender, NavigationEventArgs e) { //Once the document is loaded, we need to inject some custom JavaScript. //Here is the JavaScript var javascript = @" //This is the JavaScript method that will forward the click to the WPF app function htmlButtonClicked() { //Do any other procession...here we just always call to the WPF app window.external.ButtonClicked(); } //Find the button that you want to watch for clicks var searchButton = document.getElementById('theButton'); //Attach an onclick handler that executes our function searchButton.attachEvent('onclick',htmlButtonClicked); "; //Grab the current document and cast it to a type we can use //NOTE: This interface is defined in the MSHTML COM Component // You need to add a Reference to it in the Add References window var doc = (IHTMLDocument2)webBrowser1.Document; //Once we have the document, execute our JavaScript in it doc.parentWindow.execScript(javascript); } } </code></pre> <p>Some of this was taken from <a href="http://beensoft.blogspot.com/2010/03/two-way-interaction-with-javascript-in.html" rel="noreferrer">http://beensoft.blogspot.com/2010/03/two-way-interaction-with-javascript-in.html</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload