Freigeben über


Exemplarische Vorgehensweise: Erstellen eines gehosteten UII WPF-Steuerelements

 

Veröffentlicht: November 2016

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

Diese Exemplarische Vorgehensweise veranschaulicht, wie Sie ein Windows Presentation Foundation (WPF)-basiertes User Interface Integration (UII) gehostetes Steuerlement aufbauen, das mit Unified Service Desk und externen Anwendungen intergagiert (selbständig und Internet).

In dieser exemplarischen Vorgehensweise werden Sie Folgendes erfahren:

  • Erstellen Sie ein gehostetes UIIWPF-Steuerelement, Sample UII WPF Hosted Control, das Vornamen, Nachnamen, Postanschrift und ID eines Kontakts anzeigt, wenn Sie nach Kontakten suchen, und klicken Sie auf einen Kontaktnamen in einer Sitzung, um ihn in einer Sitzung in Unified Service Desk zu öffnen. Diese Werte werden aus dem Unified Service Desk-Kontext angezeigt.

  • Ändern Sie die Werte für Vornamen, Nachnamen oder Adresse in einer externen Anwendung und Webanwendung, die in Unified Service Desk gehostet wird, aus dem gehosteten UIIWPF-Steuerelement, das wir erstellen. Die externe und die Webanwendung wurde in folgenden früheren exemplarischen Vorgehensweisen erstellt: Exemplarische Vorgehensweise: Einen UII-Anwendungs-Adapter erstellen und Exemplarische Vorgehensweise: Einen UII-Webanwendungs-Adapter erstellen.

  • Melden Sie Änderungen am Unified Service Desk-Kontext hier, um die Werte zu aktualisieren.

In diesem Thema

Voraussetzungen

Schritt 1: Erstellen eines gehostetes UII WPF-Steuerelements mithilfe von Visual Studio

Schritt 2: Definieren des gehosteten Steuerelements in Unified Service Desk

Schritt 3: Definieren von UII-Aktionen für die gehosteten Steuerelemente der externen Anwendung und der Webanwendung in Unified Service Desk

Testen des gehosteten Steuerelements

Voraussetzungen

Schritt 1: Erstellen eines gehostetes UII WPF-Steuerelements mithilfe von Visual Studio

  1. Starten Sie Visual Studio und erstellen Sie ein neues Projekt.

  2. Im Dialogfeld Neues Projekt:

    1. Erweitern Sie in der Liste der installierten Vorlagen Visual C# und wählen Sie Dynamics 365 SDK-Vorlagen > Unified Service Desk > Gehostetes UII WPF-Steuerlement aus.

    2. Geben Sie den Namen und den Speicherort des Projekts an, und klicken Sie auf OK, um ein neues Projekt zu erstellen.

      Erstellen eines UII-WPF-gehosteten Steuerelements

  3. Klicken Sie in Lösungs-Explorer auf die UiiWpfControl.xaml-Datei mit der rechten Maustaste, und wählen Sie Öffnen, um den XAML-Designer anzuzeigen.

  4. Im Designer fügen Sie die folgenden Steuerelemente aus der Toolbox hinzu:

    Steuerelementtyp

    Name

    Text

    Etikett

    lblFirstName

    Vorname

    Etikett

    lblLastName

    Nachname

    Etikett

    lblAddress

    Postadresse

    Etikett

    lblID

    ID

    TextBox

    txtFirstName

    TextBox

    txtLastName

    TextBox

    txtAddress

    TextBox

    txtID

    Schaltfläche

    btnUpdate

    Aktualisieren von Werten in den gehosteten Apps

    Schaltfläche

    btnUpdateContext

    Kontextaktualisierung

    So sollten die Steuerlemente im XAML-Designer entwickelt werden.

    Steuerelement-Layout im XAML-Designer

  5. Doppelklicken Sie auf die Schaltfläche Updatewerte in den gehosteten Apps (btnUpdate), um den Code für click-Ereignis für das Hinzufügen dieser Schaltfläche, und fügen Sie den folgenden Code hinzu.

    private void btnUpdate_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // This is how you fire an action to other hosted applications. 
       // The DoAction() code in the other application or application adapter 
       // will be called.
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateFirstName", txtFirstName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateLastName", txtLastName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateAddress", txtAddress.Text)); // For the external application
    
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateFirstName", txtFirstName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateLastName", txtLastName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateAddress", txtAddress.Text)); // For the external web application
    }
    
  6. Wechseln Sie zum XAML-Designer, und doppelklicken Sie auf die Schaltfläche Kontext aktualisieren (btnUpdateContext) um den Code für das click-Ereignis für diese Schaltfläche hinzuzufügen. Fügen Sie den folgenden Code hinzu:

    private void btnContextChange_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // Get the current context and create a new context object from it.
       string temp = Context.GetContext();
       Context updatedContext = new Context(temp);
    
       // Update the new context with the changed information.
       updatedContext["firstname"] = txtFirstName.Text;
       updatedContext["lastname"] = txtLastName.Text;
       updatedContext["address1_line1"] = txtAddress.Text;
    
       // Notify Unified Service Desk of this new context information.
       FireChangeContext(new ContextEventArgs(updatedContext));
    
       // Notify this UII hosted control about the change.
       NotifyContextChange(updatedContext);
    }
    
  7. Aktualiseren Sie in derselben Datei (UiiWpfControl.xaml.cs) die Außerkraftsetzungsdefinition der NotifyContextChange-Methode zu dem Folgenden.

    public override void NotifyContextChange(Context context)
    {
       // Populating text fields from context information.
       txtFirstName.Text = context["firstname"];
       txtLastName.Text = context["lastname"];
       txtAddress.Text = context["address1_line1"];
       txtID.Text = context["CustomerID"];
    
       base.NotifyContextChange(context);
    }
    
  8. Speichern Sie das Projekt und bauen Sie es auf (Aufbauen > Lösung aufbauen). Nachdem das Projekt erfolgreich aufgebaut wurde, wird eine Assembly (.dll-Datei) mit demselben Namen wie dem Projektnamen (in diesem Fall UIIWPFHostedControl1.dll) im /bin/debug-Ordner des Projekts erstellt.

  9. Kopieren Sie diese Datei das Unified Service Desk-Client-Anwendungsinstallationsverzeichnis (in der Regel C:\Program Files\Microsoft Dynamics CRM USD\USD). Diese Datei ist zum Testen und schließlich zum Verwenden dieses Steuerelements von der Client-Anwendung aus erforderlich.

    Tipp

    Notieren Sie den Namen der Klasse, die verwendet wird, um das gehostete UII-Steuerelement in der UiiWpfControl.xaml.cs-Datei zu erstellen. In diesem Fall ist es UiiWpfControl. Sie benötigen diese Informationen im nächsten Schritt.

Schritt 2: Definieren des gehosteten Steuerelements in Unified Service Desk

Um das UIIgehostete WPF-Steuerlement in Unified Service Desk zu hosten, müssen Sie es definieren und konfigurieren.

  1. Melden Sie sich bei Microsoft Dynamics 365 an.

  2. Klicken Sie auf der Navigationsleiste auf Microsoft Dynamics 365 > Einstellungen > Unified Service Desk.

  3. Wählen Sie auf der Seite Unified Service Desk die Option Gehostete Steuerelemente aus.

  4. Wählen Sie auf der Seite Gehostete SteuerelementeNeu.

  5. Geben Sie auf der Seite Neues gehostetes Steuerelement die folgenden Werte an:

    Feld

    Wert

    Name

    UIIWPFHostedControl

    Anzeigename

    Beispiel: Gehostetes UII WPF-Steuerelement

    USD-Komponententyp

    Gehostete CCA-Anwendung

    Gehostete Anwendung

    Gehostetes Steuerelement

    Anwendung ist global

    Ausgewählt

    Anzeigegruppe

    MainPanel

    Adapter

    Keinen Adapter verwenden

    Assembly-URI

    UIIWPFHostedControl1

    Assemblytyp

    UIIWPFHostedControl1.UiiWpfControl

    Hinweis

    Assembly-URI ist der Name Ihrer Assembly, und der Assembly-Typ ist der Name Ihrer Assembly, gefolgt von einem Punkt (.) und anschließend der Klassenname in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name des Assemblys UIIWPFHostedControl1, und der Name der Klasse ist UiiWpfControl; dies ist der Standardklassenname, wenn Sie ein gehostetes UII-Steuerelement erstellen.

    Definieren eines neuen gehosteten Steuerelements

  6. Klicken Sie auf Speichern, um das gehostete Steuerelement zu erstellen.

Schritt 3: Definieren von UII-Aktionen für die gehosteten Steuerelemente der externen Anwendung und der Webanwendung in Unified Service Desk

Die Adapter für die eigenständige externe und die Webanwendungen stellen die folgenden drei Aktionen zur Verfügung: UpdateFirstName, UpdateLastName und UpdateAddress. Diese Adapter und die gehosteten Steuerelemente für die externe eigenständige und die Webanwendung wurde in früheren exemplarischen Vorgehensweisen erstellt (Exemplarische Vorgehensweise: Einen UII-Anwendungs-Adapter erstellen und Exemplarische Vorgehensweise: Einen UII-Webanwendungs-Adapter erstellen).

Um Informationen in externen Anwendungen aus dem gehosteten UII WPF-Steuerelement zu aktualisieren, müssen Sie drei UII-Aktionen mit demselben Namen definieren, wie zuvor in den Adaptern für jede externe Anwendung definiert. In den früheren exemplarischen Vorgehensweisen zu Adapten (Exemplarische Vorgehensweise: Einen UII-Anwendungs-Adapter erstellen und Exemplarische Vorgehensweise: Einen UII-Webanwendungs-Adapter erstellen), definierten wir folgende zwei gehosten Steuerlemente in Unified Service Desk, um die externen Anwendungen in Unified Service Desk: QsExternalApp und QsExternalWebApplication anzuzeigen. In diesem Schritt fügen wir drei UII-Aktionen für jedes gehostete Steuerelement hinzu.

Wichtig

Wenn Sie bereits die UII-Aktionen als Teil von Schritt 3 in Exemplarische Vorgehensweise: Erstellen eines UII Windows Forms gehosteten Steuerelement hinzugefügt haben, müssen Sie diesen Schritt nicht durchführen. Sie können mit dem nächsten Abschnitt zum Testen des gehosteten Steuerelements übergehen.

  1. Melden Sie sich bei Microsoft Dynamics 365 an.

  2. Klicken Sie auf der Navigationsleiste auf Microsoft Dynamics 365 > Einstellungen > Unified Service Desk.

  3. Wählen Sie auf der Seite Unified Service Desk die Option Gehostete Steuerelemente aus.

  4. Auf der Seite Gehostete Steuerelemente suchen Sie nach QSExternalApp, und öffnen Sie sie zum Bearbeiten.

  5. Wählen Sie auf der QSExternalApp-Seite den Abwärtspfeil neben dem Namen des gehosteten Steuerelements und dann UII-Aktionen aus.

  6. Klicken Sie auf der nächsten Seite auf Neue UII-Aktion hinzufügen.

  7. Geben Sie auf der Seite Neue UII-Aktion den Namen als UpdateFirstName ein, und wählen Sie Speichern und schließen aus. Dadurch wird die Aktion in der vorherige Seite hinzugefügt.

  8. Entsprechend fügen Sie die folgenden beiden Aktionen hinzu: UpdateLastName und UpdateAddress. Alle drei Aktionen werden für das gehostete QSExternalApp-Steuerelement verfügbar.

    Verfügbare UII-Aktionen für ein gehostetes Steuerelement

  9. Führen Sie die Schritte 4 bis 8 aus, um drei UII-Aktionen mit dem gleichen Namen für die QSExternalWebApp zu erstellen.

Testen des gehosteten Steuerelements

Bevor Sie das gehostete UIIWPF-Steuerelement testen, stellen Sie sicher, dass die Beispielwebanwendung ausgeführt wird, damit es in Unified Service Desk wiedergegeben wird.

  1. Führen Sie den Unified Service Desk-Client aus, um eine verbindung mit dem Dynamics 365-Server herzustellen.

  2. Bei erfolgreicher Anmeldung sehen Sie drei gehostete Steuerelemente: Gehostetes UII WPF-Beispiel-Steuerlement, External Beispiel-Webanwendung und Externe Beipsiel-Anwendung.

    Beispiel zu einem UII-WPF gehosteten Steuerelement

  3. Wählen Sie Suchen aus, und dann Kontakte. Wählen Sie die Kontakte, die in den Kontaktdetails einer Sitzung anzuzeigen sind. Dies zeigt auch Vorname, Nachname, Postanschrift und ID des derzeit angezeigten Kontaktdatensatzes in allen drei Beispiel-Steuerlementen an:

    Daten aus dem USD-Kontext in 3 Steuerelementen angezeigt

  4. Ändern Sie die Werte in Beispiel-UII WPF gehostetes Steuerelement, und klicken Sie auf Wwerte in den gehosteten Apps aktualisieren, um die Werte in den anderen beiden externen Anwendungen zu aktualisieren.

    Aktualisierte Werte in externen Apps

  5. In Beispiel-UII WPF gehostetes Steuerelement wählen Sie Kontext aktualisieren, um Kontextinformationen in Unified Service Desk zu aktualisieren.

    Im USD-Kontext aktualisierte Werte

Siehe auch

Integrieren mit externen Anwendungen und Webanwendungen
Gehostete UII-Steuerelemente mit Unified Service Desk
Exemplarische Vorgehensweise: Erstellen eines UII Windows Forms gehosteten Steuerelement
UII-Aktionen

Unified Service Desk 2.0

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright