Pentru a putea face acest lucru avem nevoie de un mecanism prin care sa trasmitem evenimentul produs. O solutie este javascript.
In Silverlight avem doua controlare care se ocupa cu acest lucru WebBrower si HtmlBrush. Din pacare doar WebBrower stie sa faca handling la evenimente de java script. Prin intermediul acestora codul C# poate sa apele metode javascrip din interiorul paginii pe care o afisam sau sa se inregistreze la anumite evenimente(metode).
Pentru a putea face acest lucru este nevoie sa adaugam in fisierul xaml controlerul care ne permite sa afisam continut HTML:
Pasul urmator este sa ne inregistram la notificarea dorita. Aceasta notificare reprezinta un apel a unei metode din javascript.
In codul HTML pe care noi il afisam in controller, trebuie sa apelam metoda window.external.notify("nume_notificare").
Aceasta metoda se poate apela oriunde in codul javascript sau se poate atasa la tag-uri prin evenimentul onclick de exemplu.
In Silverlight avem doua controlare care se ocupa cu acest lucru WebBrower si HtmlBrush. Din pacare doar WebBrower stie sa faca handling la evenimente de java script. Prin intermediul acestora codul C# poate sa apele metode javascrip din interiorul paginii pe care o afisam sau sa se inregistreze la anumite evenimente(metode).
Pentru a putea face acest lucru este nevoie sa adaugam in fisierul xaml controlerul care ne permite sa afisam continut HTML:
<WebBrowser x:Name="browserControl" />
Pasul urmator este sa ne inregistram la notificarea dorita. Aceasta notificare reprezinta un apel a unei metode din javascript.
browserControl.ScriptNotify += new EventHandler<NotifyEventArgs>(BrowserControl_ScriptNotify);
...
void browserControl_ScriptNotify(object sender, NotifyEventArgs e)
{
...
}
In acest moment toate mesajele de notificare o sa fie prinse si procesate de catre metoda BrowserControl_ScriptNotify. In aceasta metoda parametrul e.Value reprezenta numele la notificarea pe care noi am primito.In codul HTML pe care noi il afisam in controller, trebuie sa apelam metoda window.external.notify("nume_notificare").
Aceasta metoda se poate apela oriunde in codul javascript sau se poate atasa la tag-uri prin evenimentul onclick de exemplu.
Comments
Post a Comment