2009-10-08 7 views
0

Je travaille avec le contrôle WPF WebBrowser pour naviguer vers une page html hébergeant Silverlight. Il semble que je ne puisse pas utiliser la méthode NavigateToString ou NavigateToStream car j'ai du contenu Silverlight. Le contenu html se charge bien mais pas Silverlight. Donc je pense que je vais devoir utiliser la méthode Navigate qui prend un Uri. Maintenant, je voudrais naviguer vers la page html dans un fichier .html dans mon projet Visual Studio, donc je vais avoir un URI local de quelque sorte. Je ne veux pas que le fichier html soit copié dans le dossier de sortie car je ne veux pas le distribuer séparément; Je veux que ce soit inclus dans l'assemblée. Le problème est que le contrôle WebBrowser ne semble pas autoriser Uris relative ou pack: // application: uris.Navigation vers un fichier .html dans l'assembly

Comment est-ce que je pourrais accomplir navingating à un dossier .html dans l'assemblée?

Répondre

0

Vous devriez pouvoir utiliser NavigateToString et tirez le fichier HTML vous-même en utilisant GetManifestResourceStream:

using (var _textStreamReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("BrowserTest.test.htm"))) 
{ 
    string content = _textStreamReader.ReadToEnd(); 
    MainBrowser.NavigateToString(content); 
} 

Vous allez avoir des problèmes si vous avez besoin d'utiliser des ressources externes dans votre fichier HTML bien. Si vous avez besoin de ressources externes, vous devrez intégrer des ressources Win32 (pas la même chose que les ressources .net) dans votre assemblage, ce qui est un peu pénible. Il existe un exemple de cela dans une application WinForms sur CodeProject.

Questions connexes