Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten gehosteten Steuerelements für Unified Service Desk
Veröffentlicht: November 2016
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
In diesem Thema erfahren Sie, wie ein benutzerdefiniertes gehostetes Steuerelement namens My Custom Control mit einer benutzerdefinierten Aktion erstellt wird. Das benutzerdefinierte gehostete Steuerelement besitzt zwei Windows Presentation Foundation (WPF)-Steuerelemente: eine Schaltfläche, die das gehostete Debugger-Steuerelement aufruft, und ein Textetikett, 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
Voraussetzungen
Microsoft .NET Framework 4.5.2
Unified Service Desk-Client-Anwendung; die Client-Anwendung ist für das Testen des Steuerelements erforderlich
Microsoft Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
NuGet Package Manager für Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
Microsoft Dynamics 365 SDK-Vorlagen für Visual Studio, die mit Projektvorlage für ein benutzerdefiniertes gehostetes Steuerelement enthält. Sie können Sie auf eine der folgenden Weisen erhalten:
Laden Sie die CRM-SDK-Vorlage vom Visual Studio-Katalog herunter. Doppelklicken Sie zur Installation der Vorlage in Visual Studio auf die Datei CRMSDKTemplates.vsix.
Laden Sie das CRM SDK herunter und installieren Sie es. Die Vorlagendatei CRMSDKTemplates.vsix ist standardmäßig im SDK\Templates-Ordner gespeichert. Doppelklicken Sie auf die Vorlage, um sie in Visual Studio zu installieren.
Erstellen eines benutzerdefinierten gehosteten Steuerelements
Starten Sie Visual Studio und erstellen Sie ein neues Projekt.
Im Dialogfeld Neues Projekt:
Erweitern Sie in der Liste der installierten Vorlagen auf der linken Seite Visual C#, und wählen Sie Dynamics 365 SDK-Vorlagen > Unified Service Desk > Benutzerdefiniertes gehostetes USD-Steuerelement aus.
Sicherstellen, dass .NET Framework 4.5.2 ausgewählt ist.
Geben Sie den Namen und den Speicherort des Projekts an, und klicken Sie auf OK, um ein neues Projekt zu erstellen.
In Projektmappen-Explorer doppelklicken Sie auf die Datei USDControl.xaml, um den XAML-Designer herauszubringen.
Im Designer fügen Sie die folgenden Steuerelemente aus der Toolbox hinzu:
Bezeichnung: Legen Sie im Bereich Eigenschaften den Namen des Steuerlements zu “myLabel” fest.
Schaltfläche: Legen Sie im Bereich Eigenschaften den Namen des Steuerlements zu “myButton” , und den Inhalt zu “Debugger starten.”
So sehen die Steuerelemente im XAML-Designer aus.
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)); }
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)
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; }); } }
Tipp
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.
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 bestehen aus zwei Teilen: Definieren des benutzerdefinierten gehosteten Steuerelements auf dem Server und Verbindung zu Unified Service Desk auf dem Server unter Verwendung der Client-Anwendung.
Definieren des gehosteten Steuerelements und der Aktion auf dem Dynamics 365-Server
Melden Sie sich bei Microsoft Dynamics 365 an.
Klicken Sie auf der Navigationsleiste auf Microsoft Dynamics 365 und wählen Sie Einstellungen.
Klicken Sie auf Einstellungen > Unified Service Desk > Gehostete Steuerelemente.
Klicken Sie auf NEU, und geben Sie dann Werte im Bildschirm Neues gehostetes Steuerelement an, wie hier gezeigt.
Hinweis
Assembly-URI ist der Name Ihrer Assembly, und der Assembly-Typ ist der Name Ihrer Assembly (dll), gefolgt von einem Punkt (.) und anschließend der Klassenname 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.
Klicken Sie auf Speichern, um das gehostete Steuerelement zu erstellen.
Erstellen Sie die Aktion für das gehostetes Steuerelement, das Sie in Visual Studio definiert haben. Klicken Sie auf der Navigationsleiste auf den Abwärtspfeil neben dem Namen des gehosteten Steuerelements, und wählen Sie dann UII-Aktionen.
Klicken Sie auf Neue UII-Aktion hinzufügen.
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 Dynamics 365-Server konfiguriert.
Führen Sie Unified Service Desk aus, um mit dem benutzerdefinierten gehosteten Steuerelement zu arbeiten.
Kopieren Sie das Assembly, das die Definition Ihres benutzerdefinierten gehosteten Steuerelements enthält, aus Ihrem Visual Studio-Projektausgabeordner (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren Sie die MyCustomControl.dll-Datei in das c:\Program Files\Microsoft Dynamics CRM USD\USD-Verzeichnis.
Führen Sie den Unified Service Desk-Client aus, um eine verbindung mit dem Dynamics 365-Server herzustellen.
Bei erfolgreicher Anmeldung sehen Sie das benutzerdefinierte gehostete Steuerelement My Custom Hosted Control auf Ihrem Desktop.
Klicken Sie auf Debugger starten, um das gehostete Steuerelement Debugger zu starten.
Klicken Sie auf die Registerkarte Debugger, und klicken Sie dann auf den Abwärtspfeil oberhalb der Registerkarte Aktionsaufrufe, um den Bereich anzuzeigen, in dem Sie Aktionsaufrufe und UII-Aktionen testen können.
Klicken Sie auf die Registerkarte Direkte Aktion.
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.
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.
Klicken Sie auf das Symbol Direkte Aktion ausführen (), und klicken Sie dann auf die Registerkarte My Custom Hosted Control. Der angegebene Benutzername wird im Beschriftungsfeld angezeigt.
Siehe auch
Gehostetes USD-Steuerelement (gehostetes Steuerelement)
Typen gehosteter Steuerelemente und Referenz zu Aktionen/Ereignissen
Importieren von exemplarischen Vorgehensweisen zur Unified Service Desk-Konfiguration
Verwenden von benutzerdefinierten gehosteten Steuerelementen für Unified Service Desk
Unified Service Desk 2.0
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright