XBAP hébergeant Silverlight, exemple
Mise à jour : Juillet 2008
Cet exemple montre comment :
Héberger une application Silverlight dans une application du navigateur XAML (XBAP).
Communiquer entre le XBAP hôte et l'application Silverlight hébergée.
Hébergement d'une application Silverlight dans un XBAP
Les applications Silverlight peuvent être hébergées dans des XBAPà l'aide du contrôle WebBrowser. Le contenu d'un Page XBAP inclut le contrôle WebBrowser dont l'URI source identifie la page HTML qui héberge l'application Silverlight. La page HTML utilise le contrôle du plug-in Silverlight pour héberger l'application Silverlight.
L'image suivante illustre l'architecture de haut niveau relative à l'hébergement d'une application Silverlight dans un XBAP.
Communication du XBAP vers l'application Silverlight
Un XBAP hôte peut communiquer avec une application Silverlight hébergée via des méthodes de script implémentées par la page HTML qui héberge l'application Silverlight. Un XBAP appelle ces méthodes de script à l'aide de la méthode InvokeScript. Les méthodes de script appellent ensuite des méthodes implémentées par un objet scriptable exposé à partir de l'application Silverlight et disponible en vue d'un script à partir de la propriété Content du contrôle du plug-in Silverlight.
L'illustration suivante montre à la fois l'architecture de haut niveau relative à l'hébergement d'une application Silverlight dans un XBAP et la technologie de base permettant de propager des appels de méthode d'un XBAP hôte vers une application Silverlight hébergée.
Pour appeler des méthodes de script à l'aide du contrôle WebBrowser, consultez Contrôle WebBrowser, exemple. Pour plus d'informations sur l'implémentation d'applications Silverlight qui exposent des objets scriptables, consultez Walkthrough: Calling Managed Code from JavaScript. Pour une introduction au développement d'applications Silverlight, consultez Getting Started with Silverlight.
Communication de l'application Silverlight vers le XBAP
Une application Silverlight hébergée peut communiquer avec un XBAP hôte via des méthodes de script implémentées par la page HTML qui héberge l'application Silverlight. Une application Silverlight appelle ces méthodes de script à l'aide de la méthode Invoke de la classe HtmlWindow (à partir de l'espace de noms System.Windows.Browser de Silverlight). Une application Silverlight obtient une référence à la fenêtre (représentée par la classe HtmlWindow ) de la propriété Window de la classe HtmlPage (qui se trouve également dans l'espace de noms System.Windows.Browser). Les méthodes de script appellent ensuite des méthodes implémentées par un objet scriptable exposé à partir du XBAP à l'aide de de la propriété ObjectForScripting et disponible en vue d'un script à partir de la propriété external de l'objet window qui est exposé par le navigateur hôte.
L'illustration suivante montre à la fois l'architecture de haut niveau relative à l'hébergement d'une application Silverlight dans un XBAP et la technologie de base permettant de propager des appels de méthode d'une application Silverlight hébergée vers un XBAP hôte.
Pour appeler des méthodes de script à partir d'une application Silverlight, consultez Walkthrough: Calling JavaScript from Managed Code. Pour plus d'informations sur l'exposition d'objets scriptables à partir de XBAP, consultez Contrôle WebBrowser, exemple et ObjectForScripting.
Configuration de l'exemple
L'exemple est composé d'une solution (XBAPHostingSilverlightSample) avec deux projets :
Le projet XBAP (WPFBrowserApplication) qui héberge l'application Silverlight.
Le projet d'application Silverlight (SilverlightApplication).
SilverlightApplication génère WPFBrowserApplication et inclut une étape après génération qui consiste à copier l'application Silverlight générée (silverlightspplication.xap) dans le dossier de sortie du projet WPFBrowserApplication (\bin\debug).
L'exemple doit être configuré pour être exécuté sur le localhost d'un répertoire virtuel qui pointe sur le dossier de sortie du projet WPFBrowserApplication (\bin\debug). Pour ce faire, procédez comme suit :
Dans Démarrer | Outils d'administration, choisissez Gestionnaire des services Internet (IIS).
Sélectionnez Sites Web | Site Web par défaut.
Cliquez avec le bouton droit sur Site Web par défaut, choisissez Ajoutez un répertoire virtuel et configurez les deux éléments suivants :
Définissez Alias sur la valeur « WPFBrowserApplication ».
Définissez Chemin d'accès Physique sur le dossier de sortie du projet WPFBrowserApplication.
Cliquez sur OK pour créer le répertoire virtuel.
Exécution de l'exemple
Pour exécuter l'exemple, naviguez vers l'URL suivante :
https://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap
Meilleures pratiques
Cet exemple présente une fonctionnalité spécifique de Windows Presentation Foundation et, par conséquent, ne suit pas les meilleures pratiques de développement d'applications. Pour obtenir les détails complets des meilleures pratiques de développements d'applications Windows Presentation Foundation (WPF) et Microsoft .NET Framework, reportez-vous, selon le cas, aux documents suivants :
Accessibilité - Meilleures pratiques d'accessibilité
Localisation – Vue d'ensemble de la globalisation et de la localisation WPF
Performances - Optimisation des performances des applications WPF
Sécurité - Sécurité de Windows Presentation Foundation
Génération de l'exemple
Installez le Kit de développement logiciel (SDK) Windows et ouvrez la fenêtre Commande de son environnement de génération. Dans le menu Démarrer, pointez sur Tous les programmes et sur Microsoft Windows SDK, puis cliquez sur CMD Shell.
Téléchargez l'exemple, généralement à partir de la documentation du Kit de développement logiciel (SDK), vers votre disque dur local.
Pour générer l'exemple à partir de la fenêtre Commande de l'environnement de génération, accédez au répertoire source de l'exemple. À l'invite de commandes, tapez MSBUILD.
Pour générer l'exemple dans Microsoft Visual Studio, chargez l'exemple de solution ou de fichier projet, puis appuyez sur CTRL+MAJ+B.
Exécution de l'exemple
Pour exécuter l'exemple compilé à partir de la fenêtre Commande de l'environnement de génération, exécutez le fichier .exe du dossier Bin\Debug ou Bin\Release contenu sous le dossier du code source de l'exemple.
Pour exécuter l'exemple compilé avec le débogage dans Visual Studio, appuyez sur F5.
Voir aussi
Tâches
Concepts
Vue d'ensemble de la navigation
Vue d'ensemble de la navigation structurée
Référence
Autres ressources
Getting Started with Silverlight
Walkthrough: Calling Managed Code from JavaScript
Historique des modifications
Date |
Historique |
Raison |
---|---|---|
Juillet 2008 |
Exemple ajouté. |
Modifications de fonctionnalités dans le SP1. |