Dans mon application Silverlight, j'ai un composant WebBrowser
qui affiche du contenu HTML aléatoire.Méthode d'appel C# à partir de javascript à partir de WebBrowser hébergé dans Silverlight
Je voudrais appeler des méthodes C# à partir de là (par exemple lorsque je clique sur un lien [un href ...]).
Modifier [ajouter des détails]:
Je vais essayer de clarifier mon problème, désolé pour la question initiale mal posée:
Dans mon fichier XAML, j'ai mon composant WebBrowser:
<WebBrowser x:Name="HtmlMail" Grid.Row="1" Visibility="{Binding Visibility}" />
dans le code derrière, j'ai une méthode qui charge HTML dans le navigateur Web (HTML à partir d'une source externe):
void _viewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
string encoded = SilverMUT.Common.Tools.CString.ToHtml(_viewModel.MailSelected.Message);
HtmlMail.NavigateToString(encoded);
}
Ce que je voudrais faire est d'ajouter par exemple un bouton à la vue html (cette partie est ok) et qu'un clic sur le bouton déclenche une fonction C#.
Edit: si je peux piéger le clic sur les liens à l'intérieur du navigateur Web et les gérer dans le code derrière, ce serait bien aussi
Je l'ai essayé dans: System.Windows.Navigation.LoadCompletedEventHandler mais peut « t faire cela fonctionne
[c'est peut-être utile] (http://stackoverflow.com/questions/8800764/how-to-intercept-when-user-click-on-a-link-in-a-webbrowser), j'ai trouvé en faisant une recherche Google - quelque chose que je vous suggère d'apprendre à faire vous-même – musefan
Pas sûr de SL mais à partir d'une application de formulaires, vous pouvez utiliser objectforscripting + window.external; http://msdn.microsoft.com/en-us/library/a0746166.aspx –
S'il vous plaît préciser si vous souhaitez appeler la méthode de l'hôte (probable suggestion Alex K fonctionnerait) ou le code côté serveur. (J'ai également changé de titre - n'hésitez pas à revenir) –