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
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
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 CRM SDK-Vorlagen>Unified Service Desk>Benutzerdefiniertes USD-Steuerlement aus.
Stellen Sie sicher, dass .NET Framework 4.6.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.
Doppelklicken Sie im Bereich Lösungs-Explorer auf die Datei USDControl.xaml, um den XAML-Designer zu öffnen.
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.
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 BezeichnungMyCustomAction
, die einen Parameter mit der Bezeichnungusername
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 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
Melden Sie sich bei Unified Service Desk Administrator an.
Wählen Sie Gehostete Steuerelemente unter Grundeinstellungen.
Wählen Sie + Neu.
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 |
- 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.
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. Wählen Sie die Registerkarte Verknüpft und dann UII-Aktionen.
Wählen Sie + Neue UII-Aktion aus.
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.
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.
Führen Sie den Unified Service Desk Client aus, um sich mit Ihrem Dataverse-Server zu verbinden.
Bei erfolgreicher Anmeldung sehen Sie das benutzerdefinierte gehostete Steuerelement My Custom Hosted Control auf Ihrem Desktop.
Wählen Sie Debugger starten, um das gehostete Steuerelement Debugger zu starten.
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.
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.Wählen Sie das Symbol Direkte Aktion ausführen () und wählen Sie dann die Registerkarte Mein benutzerdefiniertes gehostetes Steuerelement. Der angegebene Benutzernamen wird im Feld Label angezeigt.
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