Teilen über


Silverlight (XAP)-Webressourcen

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Wichtig

Microsoft Silverlight-Webressourcen werden in Microsoft Dynamics 365 (online und lokal) weiterhin für Abwärtskompatibilität unterstützt. Für Komponenten, die auf allen Clients angezeigt werden können, wird die Verwendung von HTML-Webressourcen mit HTML5 anstelle von Silverlight empfohlen.

HTML5 ist die bevorzugte Clienttechnologie für das Web, vor Web-Plug-Ins wie Silverlight und Flash. HTML5 kann von jedem beliebigen Gerät (PC, Tablet, Smartphone usw.) verbraucht werden und verwendet JavaScript (und viele JavaScript-Bibliotheken wie jQuery) und CSS in großem Maße.

Microsoft Dynamics 365 (online und lokal) unterstützen das Hinzufügen von Silverlight 4.0-Webressourcen zu Entitätsformularen. Sie können Silverlight 5.0-Webressourcen in einer HTML-Webressource unter Verwendung eines hostenden <object>-Elements anzeigen, das für diese Version konfiguriert ist.

Hinweis

  • Microsoft Silverlight-Webressourcen können nicht in der 64-Bit-Version von Microsoft Office Outlook angezeigt werden.

  • Erstellen Sie zum Anzeigen einer Silverlight-Webressource außerhalb eines Entitätsformulars oder Diagramms eine HTML-Webressource als Hostseite für die Silverlight-Webressource. Verwenden Sie dann die $webresource: -Direktive, um die HTML-Webressource zu öffnen.

In diesem Thema

Erstellen von Silverlight-Webressourcen

Zugreifen auf Kontextdaten

Übergeben von Daten aus einem Formular an eine eingebettete Silverlight-Webressource

Schreiben und Testen von Silverlight-Webressourcen

Debuggen von Silverlight-Webressourcen

Erstellen von Silverlight-Webressourcen

Silverlight-Webressourcen können leicht mithilfe des Webressourcenformulars erstellt werden, indem Sie einen Namen und einen Anzeigenamen eingeben, Silverlight (XAP) auswählen und die .xap-Datei hochladen. Die Webressource muss veröffentlicht werden, bevor Sie sie verwenden können. Da Silverlight-Webressourcen jedoch in der Regel Interaktion mit kontextbezogenen Daten in Microsoft Dynamics 365 bieten, sollten Sie planen, wie Sie Ihre Webressourcen erstellen.

Zugreifen auf Kontextdaten

Wenn die Schaltfläche Vorschau im Webressourcenformular verwenden oder nur die angegebene URL durchsuchen, wird die Silverlight-Anwendung ohne Kontextinformationen in einer allgemeinen HTML-Seite gehostet. Wenn die Silverlight-Anwendung keine kontextbezogenen Informationen erfordert, können Sie diese URL verwenden, um Ihre Silverlight-Webressource anzuzeigen.

Sollten Sie kontextbezogene Informationen benötigen, müssen Sie eine der folgenden Aktionen ausführen:

  1. Fügen Sie die Silverlight-Webressource zu einem Entitätsformular hinzu.

  2. Zeigen Sie die Silverlight-Webressource mithilfe einer HTML-Webressource an, die so konfiguriert ist, dass sie Kontextinformationen bereitstellt.

Wenn Ihre Silverlight-Webressource so konzipiert ist, dass sie in einem Entitätsformular angezeigt werden kann, hat das Formular ein Xrm.Page.context-Objekt, das Sie verwenden können, um auf kontextbezogene Informationen zuzugreifen. Weitere Informationen finden Sie unter Clientseitiger Kontext (clientseitige Referenz).

Wenn die Silverlight-Anwendung außerhalb des Kontextes des Formulars angezeigt werden soll, müssen Sie eine HTML-Webressource konfigurieren, um diese Kontextinformationen durch Hinzufügen eines Verweises auf die Seite ClientGlobalContext.js.aspx bereitzustellen. Nachdem dieser Verweises hinzugefügt wurde, kann die Silverlight-Anwendung genau wie in einem Entitätsformular auf kontextbezogene Informationen zugreifen. Das folgende Beispiel zeigt, wie Sie die getClientUrl-Funktion aus dem Xrm.Page.context-Objekt aufrufen können.

private string clientUrl = "";
ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
ScriptObject page = (ScriptObject)xrm.GetProperty("Page");
ScriptObject pageContext = (ScriptObject)page.GetProperty("context");
clientUrl = (string)pageContext.Invoke("getClientUrl");

Übergeben von Daten aus einem Formular an eine eingebettete Silverlight-Webressource

Wenn Sie eine Silverlight-Webressource zu einem Formular hinzufügen, können Sie die Option Datensatzobjekt-Typcode u. eindeut. Bezeichner als Parameter übergeben auswählen. Sie haben auch die Möglichkeit, Text als benutzerdefinierten Parameter einzugeben.

Diese Werte werden an das Silverlight-Steuerelement als ein InitParams, ein Wörterbuch von Schlüssel-/Wertpaaren, übergeben.

Die übergebenen Werte sind in der folgenden Tabelle aufgeführt.

Schlüssel

Beschreibung

id

Der eindeutige Bezeichner des Datensatzes.

typ

Der Entitätstypcode. Bei benutzerdefinierten Entitäten kann dies zwischen den Organisationen variieren.

typename

Der logische Name der Entität.

orgname

Der Name der Organisation.

userlcid

Der Sprachcode, der die Spracheinstellung des Benutzers darstellt.

orglcid

Der Sprachcode, der die Ausgangssprache der Organisation darstellt.

-Daten

Der Wert des Texts, der als benutzerdefinierter Parameter eingegeben wurde.

Auf diese Werte kann mithilfe der im folgenden Beispiel aufgeführten Syntax während der Laufzeit zugegriffen werden:

string entityTypeName = App.Current.Host.InitParams["typename"];

Schreiben und Testen von Silverlight-Webressourcen

Wenn Ihre Silverlight-Webressource unabhängig von kontextbezogenen Daten von Microsoft Dynamics 365 ist, können Sie die Silverlight-Anwendung so schreiben und testen, wie Sie es üblicherweise tun würden. Nachdem Sie eine neue Webressource erstellt haben, indem Sie die .xap-Datei hochgeladen haben, können Sie diese testen, indem Sie die Schaltfläche Vorschau im Webressourcenformular verwenden, nachdem Sie die Webressource gespeichert und veröffentlicht haben.

Es ist jedoch wahrscheinlicher, dass die Silverlight -Anwendung über kontextbezogene Datenabhängigkeiten verfügt, die außerhalb von Microsoft Dynamics 365 nicht vollständig simuliert werden können.

Der Prozess zum Erstellen einer Silverlight-Webressource, die Formular- oder Kontextabhängigkeiten enthält, funktioniert wie folgt:

  1. Erstellen Sie das Silverlight-Anwendungsprojekt.

    Sie sollten auswählen, eine Webanwendung mit Ihrem Projekt zu erstellen.

  2. Schreiben und testen Sie möglichst viel der Anwendung, wie ohne kontextbezogene Daten von Microsoft Dynamics 365 möglich ist.

  3. Erstellen Sie Webressourcen, indem Sie die .htm- und .xap-Dateien als Silverlight- und HTML-Webressourcen hochladen.

  4. Schreiben Sie Code in das Silverlight-Anwendungsprojekt.

  5. Erstellen Sie das Silverlight-Anwendungsprojekt.

  6. Laden Sie die erstellte Version der .xap-Datei aus dem Webanwendungsprojektordner ClientBin hoch, um die Silverlight-Webressource zu aktualisieren, die Sie in Schritt 3 erstellt haben.

  7. Testen Sie die Silverlight-Webressource, indem Sie eine der folgenden Aktionen durchführen:

    • Zeigen Sie sie mithilfe der Vorschau-Schaltfläche der Hostwebressource HTML an, die Sie erstellt haben.

    • Zeigen Sie sie im Kontext eines Entitätsformulars an, zu dem Sie diese hinzugefügt haben.

      Verwenden Sie diese Option, wenn die Silverlight-Anwendung über Abhängigkeiten auf Formularelementen oder Kontextinformationen verfügt.

  8. Wiederholen Sie die Schritte 4–7, bis Sie fertig sind.

Hinweis

Wenn Sie eine Silverlight-Webressource außerhalb eines Entitätsformulars anzeigen möchten, z. B. auf dem Hauptframe der Anwendung, indem Sie die Siteübersicht bearbeiten, müssen Sie eine Webseiten-Webressource (HTML) bereitstellen, die als Host der Silverlight-Webressource agiert.

Wichtig

Bearbeiten Sie den HTML-Quellcode nie für eine Seite, auf der eine Silverlight-Webressource gehostet wird, die den Text-Editor verwendet, der in der Anwendung bereitgestellt wird. Der Texteditor ändert den HTML-Code und bricht <object>-Elementdefinitionen, die erforderlich sind, um die SilverlightXAP-Webressource zu hosten. Weitere Informationen finden Sie unter bba8645a-a725-4c4d-a393-bab8ca692482#BKMK_UsingTextEditor.

Wenn den Texteditor verwenden müssen, lassen Sie den Parameter data="data:application/x-silverlight-2," im Element <object> aus. Obwohl dies das Brechen der Silverlight-Webressource verhindern sollte, kann der Text-Editor trotzdem andere unerwünschte Änderungen vornehmen.

Debuggen von Silverlight-Webressourcen

Silverlight-Webressourcen, die sich nicht auf kontextbezogene Daten von Microsoft Dynamics 365 stützen, können in Microsoft Visual Studio debuggt werden. Wenn die Silverlight-Webressource jedoch kontextbezogene Daten erfordert, um die Aufgaben wahrzunehmen, müssen Sie ein anderes Verfahren anwenden.

  1. Erstellen Sie die Silverlight-Anwendung.

  2. Laden Sie die Version der .xap-Datei aus dem Webanwendungsprojektordner ClientBin hoch.

  3. Zeigen Sie die Silverlight-Anwendung in dem Kontext an, in dem sie verwendet werden soll.

  4. Wählen Sie in Ihrem Silverlight-Anwendungsprojekt aus dem Visual Studio-Menü Debuggen und dann An den Prozess anhängen aus.

  5. Suchen Sie im Dialogfeld An den Prozess anhängenden Prozess iexplore.exe, in dem der Typ-Spaltenwert Silverlight, x86 ist.

  6. Wählen Sie diesen Vorgang aus und drücken Sie Anfügen, um das Dialogfeld zu schließen und das Debuggen zu starten.

  7. Legen Sie in Ihrem Silverlight-Anwendungsprojekt einen Haltepunkt fest.

  8. Aktualisieren Sie das Browserfenster, oder führen Sie in der Anwendung Silverlight die Aktion aus, die Sie zum Testen des Codes benötigen.

Siehe auch

Erstellen von barrierefreien Webressourcen
Webressourcen für Microsoft Dynamics 365
Webressourcen der Webseite (HTML)
CSS Webressourcen
Webressourcen für Skripts (JScript)
Webressourcen von Daten (XML)
Bild- (JPG, PNG, GIF, ICO)-Webressourcen
XSL-Webressourcen (Stylesheet)

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright