J'ai une application .NET 2.0 (utilisant C#) qui affiche des pages HTML construites dynamiquement, dont certaines contiennent Silverlight. Voici un exemple simple du HTML (Remarque, je suis en utilisant des chemins absolus):Le contrôle WebBrowser a des résultats différents pour le chargement de l'URL et la définition de DocumentTexte contenant Silverlight
<html>
<head></head>
<body>
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="file:///c:/foo/bar/test.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="yellow" />
<param name="minRuntimeVersion" value="4.0.50401.0" />
<param name="autoUpgrade" value="true" />
</object>
</body>
</html>
Si j'ai mon contrôle WebBrowser charger un fichier local contenant ce, il fonctionne très bien:
WebBrowser browser = new WebBrowser();
browser.Url = new Uri("file:///C:/foo/bar/simpleExample.html");
Cependant, si je définis DocumentText en utilisant exactement le même HTML, l'application Silverlight ne se chargera pas. Il semble que le plugin se charge (si vous faites un clic droit, il dira "Silverlight"), mais pas le contenu. J'utilise une application Silverlight très simple.
WebBrowser browser = new WebBrowser();
browser.DocumentText = "<html>...same HTML as above...</html>
Je préférerais grandement utiliser cette dernière méthode et ne pas avoir à utiliser de fichiers locaux. Une idée de pourquoi je verrais ces différences? J'ai également essayé la même situation en utilisant Silverlight.js pour que Javascript insère dynamiquement Silverlight mais obtienne le même résultat.
En relation: http://stackoverflow.com/q/722166/103167 –