Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten gehosteten Steuerelements für Unified Service Desk

In diesem Thema erfahren Sie, wie ein benutzerdefiniertes gehostetes Steuerelement namens My Custom Control mit einer benutzerdefinierten Aktion erstellt wird. Das benutzerdefinierte gehostete Steuerelement verfügt über zwei Windows Presentation Foundation (WPF)-Steuerelemente: eine Schaltfläche, die das gehostete Debugger-Steuerelement aufruft, und ein Text-Label, das den Benutzernamen anzeigt, wenn eine benutzerdefinierte Aktion, MyCustomAction, aufgerufen wird.

In diesem Abschnitt

Voraussetzungen

Erstellen eines benutzerdefinierten gehosteten Steuerelements

Testen Ihres benutzerdefinierten gehosteten Steuerelements

Anforderungen

  • Microsoft .NET Framework 4.6.2

  • Unified Service Desk Client-Anwendung; die Client-Anwendung ist für das Testen des gehosteten Steuerelements erforderlich.

  • Visual Studio 2012, Visual Studio 2013, oder Visual Studio 2015

  • NuGet Paket-Manager für Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015

  • CRM SDK-Vorlagen für Visual Studio, die mit Projektvorlage für ein benutzerdefiniertes gehostetes Steuerelement enthält. Laden Sie die CRM SDK-Vorlagen aus dem Visual Studio Katalog herunter,und doppelklicken Sie auf die Datei CRMSDKTemplates.vsix, um die Vorlage in Visual Studio zu installieren.

Erstellen eines benutzerdefinierten gehosteten Steuerelements

  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 auf der linken Seite Visual C# und wählen Sie CRM SDK-Vorlagen>Unified Service Desk>Benutzerdefiniertes USD-Steuerlement aus.

    2. Stellen Sie sicher, dass .NET Framework 4.6.2 ausgewählt ist.

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

    Vorlage zum Erstellen eines benutzerdefinierten gehosteten Steuerelements.

  3. Doppelklicken Sie im Bereich Lösungs-Explorer auf die Datei USDControl.xaml, um den XAML-Designer zu öffnen.

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

    • Bezeichnung: Setzen Sie den Namen des Steuerelements im Bereich Eigenschaften auf "myLabel" fest.

    • Schaltfläche: Setzen Sie den Namen des Steuerelements unter Eigenschaften auf "myButton" und den Inhalt auf Debugger starten fest.

      So sehen die Steuerelemente im SAML-Designer aus.

    XAML-Designer mit benutzerdefinierten Steuerelementen.

  5. Doppelklicken Sie auf die Schaltfläche, um Code hinter dem XAML hinzuzufügen. Dadurch gelangen Sie zur Klickereignisdefinition von myButton in der USDControl.xaml.cs-Datei. Führen Sie den folgenden Befehl hinzu.

    private void myButton_Click(object sender, RoutedEventArgs e)
    {
        if (!this.desktopAccess.AppExistsInUI("Debugger"))
        {
            this.desktopAccess.CreateDynamicApplication("Debugger");
        }
        this.FireRequestAction(new Microsoft.Uii.Csr.RequestActionEventArgs("Debugger", "default", null));
    }
    
  6. Definieren Sie eine benutzerdefinierte Aktion für das gehostete Steuerelement. Navigieren Sie in der USDControl.xaml.cs-Datei zur Außerkraftsetzungsdefinition von DoAction:

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. Fügen Sie den folgenden Code innerhalb der Außerkraftsetzungsdefinition von DoAction hinzu, um eine benutzerdefinierte Aktione zu definieren, mit der Bezeichnung MyCustomAction, die einen Parameter mit der Bezeichnung username annimmt.

    if (args.Action.Equals("MyCustomAction", StringComparison.OrdinalIgnoreCase))
    {
        List<KeyValuePair<string, string>> actionDataList = Utility.SplitLines(args.Data, CurrentContext, localSession);
        string valueIwant = Utility.GetAndRemoveParameter(actionDataList, "username"); // assume there is a myKey=<value> in the data.
    
        if (!string.IsNullOrEmpty(valueIwant))
        {
            this.Dispatcher.Invoke(() => { this.myLabel.Content = valueIwant; });
        }
    }
    

    Trinkgeld

    Die Vorlage bietet den meisten Code als Kommentar innerhalb der Außerkraftsetzungsdefinition von DoAction, um Ihnen bei den ersten Schritten der Entwicklung zu helfen. Sie müssen die Kommentare der benötigten Codezeile entfernen und die Platzhalterwerte durch Ihre Werte ersetzen.

  8. Speichern Sie Ihr Projekt, und bauen Sie es auf (Aufbauen>Lösung aufbauen), um zu überprüfen, ob es erfolgreich aufgebaut wird.

Testen Ihres benutzerdefinierten gehosteten Steuerelements

Wenn das Projekt erfolgreich aufgebaut wurde, testen Sie das benutzerdefinierte gehostete Steuerelement. Das Testen besteht aus zwei Teilen: der Definition des benutzerdefinierten gehosteten Steuerelements auf dem Server und der anschließenden Verbindung mit Unified Service Desk auf dem Server über Ihre Client-Anwendung.

Definieren des gehosteten Steuerelements und der Aktion

  1. Melden Sie sich bei Unified Service Desk Administrator an.

  2. Wählen Sie Gehostete Steuerelemente unter Grundeinstellungen.

  3. Wählen Sie + Neu.

  4. Geben Sie auf der Seite gehostetes Steuerelement die folgenden Werte an.

Feld Wert
Name Mein benutzerdefiniertes gehostetes Steuerelement
Anzeigename Mein benutzerdefiniertes gehostetes Steuerelement
Unified Service Desk – Komponententyp Gehostetes Steuerelement USD
Anwendung ist global Markiert
Anzeigegruppe MainPanel
  1. Wählen Sie die Registerkarte Hosting aus, und geben Sie Folgendes an:
Feld Wert
Assembly-URI MyCustomControl
Assemblytyp MyCustomControl.USDControl

Notiz

Assembly-URI ist der Name Ihres Assemblys und Assemblytyp ist der Name Ihres Assemblys (dll), gefolgt von einem Punkt (.) und dann dem Klassennamen in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name des Assemblys MyCustomControl, und der Name der Klasse ist USDControl; dies ist der Standardklassenname, wenn Sie ein benutzerdefiniertes gehostetes Steuerelement erstellen.

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

  2. Erstellen Sie die Aktion für das gehostetes Steuerelement, das Sie in Visual Studio definiert haben. Wählen Sie die Registerkarte Verknüpft und dann UII-Aktionen.

  3. Wählen Sie + Neue UII-Aktion aus.

  4. Geben Sie MyCustomAction im Feld Name ein, und wählen Sie Speichern aus.

    Sie haben jetzt ein benutzerdefiniertes gehostetes Steuerelement und eine benutzerdefinierte Aktion auf Ihrem Microsoft Dataverse-Server konfiguriert.

Führen Sie Unified Service Desk aus, um mit dem benutzerdefinierten gehosteten Steuerelement zu arbeiten.

  1. Kopieren Sie die Montage, die die Definition Ihres benutzerdefinierten gehosteten Steuerelements enthält, aus Ihrem Projektausgabeordner Visual Studio (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren Sie die MyCustomControl.dll-Datei nach c: \Program Files\Microsoft Dynamics CRM\USD\USD Verzeichnis.

  2. Führen Sie den Unified Service Desk Client aus, um sich mit Ihrem Dataverse-Server zu verbinden.

  3. Bei erfolgreicher Anmeldung sehen Sie das benutzerdefinierte gehostete Steuerelement My Custom Hosted Control auf Ihrem Desktop.

    Benutzerdefiniertes gehostetes Steuerelement.

  4. Wählen Sie Debugger starten, um das gehostete Steuerelement Debugger zu starten.

  5. Um die angepasste Aktion zu testen, wählen Sie die Registerkarte Debugger und dann den Pfeil nach unten über der Registerkarte Aktionsaufrufe, um den Bereich anzuzeigen, in dem Sie Aktionsaufrufe und UII-Aktionen testen können.

    Erweiterter Testbereich im Debugger.

  6. Klicken Sie auf die Registerkarte Direkte Aktion.

  7. Wählen Sie in der Liste Gehostetes Steuerelement den Eintrag My Custom Hosted Control aus, und aus der Liste Aktion, wählen Sie MyCustomAction aus.

  8. Gemäß der benutzerdefinierten Aktionsdefinition erwartet dieser Aktionsaufruf einen Parameter mit der Bezeichnung username, daher fügen Sie den folgenden Wert im Feld Daten hinzu: username=Tracie Hamilton.

    Testen Ihres benutzerdefinierten gehosteten Steuerelements.

  9. Wählen Sie das Symbol Direkte Aktion ausführen (Debugger-Aktionsausführungsschaltfläche in Unified Service Desk.) und wählen Sie dann die Registerkarte Mein benutzerdefiniertes gehostetes Steuerelement. Der angegebene Benutzernamen wird im Feld Label angezeigt.

    Registerkarte Mein benutzerdefiniertes gehostetes Steuerelement enthält den Benutzernamen.

Siehe auch

Gehostetes USD-Steuerelement (gehostetes Steuerelement)
Typen gehosteter Steuerelemente und Referenz zu Aktionen/Ereignissen
Unified Service Desk-Konfiguration - Exemplarische Vorgehensweisen
Verwenden von benutzerdefinierten gehosteten Steuerelementen für Unified Service Desk