Share via


Beispiel für das Hosten von Silverlight mit XBAP

Aktualisiert: Juli 2008

Dieses Beispiel zeigt Folgendes:

  • Vorgehensweise zum Hosten einer Silverlight-basierten Anwendung in einem XAML-Browseranwendung (XBAP).

  • Vorgehensweise für die Kommunikation zwischen dem Host-XBAP und der gehosteten Silverlight-basierten Anwendung.

Download sample

Hosten einer Silverlight-basierten Anwendung in einem XBAP

Silverlight-basierte Anwendungen können in XBAPs mit dem WebBrowser-Steuerelement gehostet werden. Der Inhalt eines XBAP Page umfasst das WebBrowser-Steuerelement, dessen Quell-URI die HTML-Seite identifiziert, die die Silverlight-basierte Anwendung hostet. Die HTML-Seite verwendet das Silverlight-Plug-In-Steuerelement, um die Silverlight-basierte Anwendung zu hosten.

In der folgenden Abbildung ist die übergeordnete Architektur zum Hosten einer Silverlight-basierten Anwendung in einem XBAP dargestellt.

WPF als Anwendungshost für eine Silverlight-Anwendung

Kommunizieren vom XBAP mit der Silverlight-basierten Anwendung

Ein Host-XBAP kann über Skriptmethoden, die von der HTML-Seite implementiert werden, die die Silverlight-basierte Anwendung hostet, mit einer gehosteten Silverlight-basierten Anwendung kommunizieren. Ein XBAP ruft die Skriptmethoden mit der InvokeScript-Methode auf. Anschließend rufen die Skriptmethoden Methoden auf, die durch ein skriptfähiges Objekt implementiert werden, das aus der Silverlight-basierten Anwendung verfügbar gemacht wird und dem Skript über die Content-Eigenschaft des Silverlight-Plug-In-Steuerelements zur Verfügung steht.

In der folgenden Abbildung sind die übergeordnete Architektur zum Hosten einer Silverlight-basierten Anwendung in einem XBAP sowie die zum Verbreiten von Methodenaufrufen von einem Host-XBAP zu einer gehosteten Silverlight-basierten Anwendung verwendete Schlüsseltechnologie dargestellt.

Interaktion von WPF mit Silverlight

Informationen zum Aufrufen von Skriptmethoden mit dem WebBrowser-Steuerelement finden Sie unter Beispiel für das WebBrowser-Steuerelement. Weitere Informationen zum Implementieren von Silverlight-basierten Anwendungen, die skriptfähige Objekte verfügbar machen, finden Sie unter Exemplarische Vorgehensweise: Aufrufen von verwaltetem Code für JavaScript. Eine Einführung in die Silverlight-basierte Anwendungsentwicklung finden Sie unter Erste Schritte mit Silverlight.

Kommunizieren von der Silverlight-basierten Anwendung zum XBAP

Eine gehostete Silverlight-basierte Anwendung kann über Skriptmethoden, die von der HTML-Seite implementiert werden, die die Silverlight-basierte Anwendung hostet, mit einem Host-XBAP kommunizieren. Eine Silverlight-basierte Anwendung ruft die Skriptmethoden mit der Invoke-Methode der HtmlWindow-Klasse auf (aus dem Silverlight System.Windows.Browser-Namespace). Eine Silverlight-basierte Anwendung ruft einen Verweis auf das Fenster (dargestellt durch die HtmlWindow-Klasse) aus der Window-Eigenschaft der HtmlPage-Klasse (ebenfalls im System.Windows.Browser-Namespace) ab. Anschließend rufen die Skriptmethoden Methoden auf, die durch ein skriptfähiges Objekt implementiert werden, das durch den XBAP mit der ObjectForScripting-Eigenschaft verfügbar gemacht wird und dem Skript über die external-Eigenschaft des window-Objekts zur Verfügung steht, das durch den Hostbrowser verfügbar gemacht wird.

In der folgenden Abbildung sind die übergeordnete Architektur zum Hosten einer Silverlight-basierten Anwendung in einem XBAP sowie die zum Verbreiten von Methodenaufrufen von einer gehosteten Silverlight-basierten Anwendung zu einem Host-XBAP verwendete Schlüsseltechnologie dargestellt.

Interaktion von Silverlight mit WPF

Informationen zum Aufrufen von Skriptmethoden aus einer Silverlight-Anwendung finden Sie unter Exemplarische Vorgehensweise: Aufrufen von JavaScript aus verwaltetem Code. Weitere Informationen zum Verfügbarmachen von skriptfähigen Objekten aus XBAPs finden Sie unter Beispiel für das WebBrowser-Steuerelement und ObjectForScripting.

Konfigurieren des Beispiels

Das Beispiel besteht aus einer Projektmappe (XBAPHostingSilverlightSample) mit zwei Projekten:

  1. Dem XBAP-Projekt (WPFBrowserApplication), das die Silverlight-basierte Anwendung hostet.

  2. Dem Silverlight-basierten Anwendungsprojekt (SilverlightApplication).

SilverlightApplication wird nachWPFBrowserApplication erstellt und enthält einen Postbuildschritt, der die generierte Silverlight-basierte Anwendung, silverlightspplication.xap in den WPFBrowserApplication-Projektausgabeordner \bin\debug kopiert.

Das Beispiel muss so konfiguriert werden, dass es von einem virtuellen Verzeichnis, das auf den WPFBrowserApplication-Projektausgabeordner (\bin\debug) zeigt, auf dem localhost ausgeführt wird. Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie unter Start | Verwaltung Internetinformationsdienste-Manager aus.

  2. Wählen Sie Websites | Standardwebsite aus.

  3. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und wählen Sie Virtuelles Verzeichnis hinzufügen.

    1. Legen Sie dann den Alias auf "WPFBrowserApplication" fest.

    2. Legen Sie für Physischer Pfad den WPFBrowserApplication-Projektausgabeordner fest.

  4. Klicken Sie auf OK, um das virtuelle Verzeichnis zu erstellen.

Ausführen des Beispiels

Navigieren Sie zur folgenden URL, um das Beispiel auszuführen:

https://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap

Optimale Vorgehensweisen

In diesem Beispiel soll nur ein bestimmtes Feature von Windows Presentation Foundation veranschaulicht werden, daher werden die bewährten Methoden für die Anwendungsentwicklung nicht befolgt. Ausführliche Informationen über bewährte Methoden bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:

Eingabehilfen – Bewährte Methoden für Eingabehilfen

Lokalisierung - Übersicht über WPF-Globalisierung und -Lokalisierung

Leistung – Optimieren der WPF-Anwendungsleistung

Sicherheit - Windows Presentation Foundation-Sicherheit

Erstellen des Beispiels

  • Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.

  • Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.

  • Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.

  • Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.

Ausführen des Beispiels

  • Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.

  • Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.

Siehe auch

Aufgaben

Beispiel für das WebBrowser-Steuerelement

Konzepte

Übersicht über die Navigation

Übersicht über die strukturierte Navigation

Referenz

WebBrowser

Weitere Ressourcen

Erste Schritte mit Silverlight

Exemplarische Vorgehensweise: Aufrufen von verwaltetem Code für JavaScript

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Hinzugefügtes Beispiel.

SP1-Featureänderung.