Tutorial: Crear un control hospedado personalizado para Unified Service Desk
En este tema, aprenderá a crear un control personalizado hospedado llamado My Custom Control
con una acción personalizada. El control hospedado personalizado tiene dos controles Windows Presentation Foundation (WPF): un botón que llama al control hospedado Depurador y una etiqueta de texto que muestra el nombre de usuario cuando se llama a una acción personalizada, MyCustomAction
.
En esta sección
Cree un control hospedado personalizado
Pruebe el control hospedado personalizado
Requisitos previos
Microsoft .NET Framework 4.6.2
Ejecute la aplicación del cliente de Unified Service Desk; la aplicación cliente es necesaria para probar el control hospedado
Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015
NuGet Administrador de paquetes para Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015
Plantillas del SDK de CRM para Visual Studio que contiene la plantilla de proyecto de control hospedado personalizado. Descargue las plantillas de SDK de CRM de la galería de Visual Studio y haga doble clic en el archivo CRMSDKTemplates.vsix para instalar la plantilla en Visual Studio.
Cree un control hospedado personalizado
Inicie Visual Studio y cree un nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto:
En la lista de plantillas instaladas, expanda Visual C# y seleccione Plantillas SDK de CRM>Unified Service Desk>Control hospedado personalizado USD.
Asegúrese de que .NET Framework 4.6.2 esté seleccionado.
Especifique el nombre y la ubicación del proyecto y haga clic en Aceptar para crear un nuevo proyecto.
En el panel Explorador de soluciones, haga doble clic en el archivo USDControl.xaml para activar el diseñador de XAML.
En el diseñador, agregue los siguientes controles desde el Cuadro de herramientas:
Etiqueta: Establezca el nombre del control en “myLabel” en el panel Propiedades.
Botón: Establezca el nombre del control en “myButton”, y el contenido en Iniciar Depurador en el panel Propiedades.
Este es el aspecto que tienen los controles en el diseñador de XAML.
Haga doble clic en el botón para agregar código detrás de XAML. Esto le llevará a la definición del evento de clic de myButton en el archivo USDControl.xaml.cs. Agregue el siguiente comando.
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)); }
Defina una acción personalizada para el control hospedado. En el archivo USDControl.xaml.cs, vaya a la definición de sustitución de
DoAction
.protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
Agregue el siguiente código en la definición de sustitución de
DoAction
para definir una acción personalizada llamadaMyCustomAction
, que acepta un parámetro llamadousername
.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; }); } }
Propina
La plantilla ofrece la mayoría del código como comentario en la definición de sustitución de
DoAction
para ayudarle a comenzar a trabajar rápidamente en el desarrollo. Debe quitar la marca de comentario de la línea de código necesaria, y reemplazar los marcadores de posición por valores.Guarde el proyecto y genérelo (Generar>Generar solución) para comprobar si genera correctamente.
Pruebe el control hospedado personalizado
Cuando el proyecto se compile correctamente, pruebe el control hospedado personalizado. La prueba consta de dos partes: definición del control hospedado personalizado en el servidor y después conexión con Unified Service Desk en el servidor mediante la aplicación cliente.
Defina el control hospedado y la acción personalizados
Inicie sesión en el Administrador de Unified Service Desk.
Seleccione Controles hospedados en Configuración básica.
Seleccione + Nuevo.
En la página del control hospedado, especifique los siguientes valores.
Campo | Valor |
---|---|
Nombre | Mi control hospedado personalizado |
Nombre para mostrar | Mi control hospedado personalizado |
Tipo de componente de Unified Service Desk | Control hospedado de USD |
La aplicación es global | Activado |
Grupo de presentación | MainPanel |
- Seleccione la pestaña Hospedaje y especifique lo siguiente:
Campo | Valor |
---|---|
URI de ensamblado | MyCustomControl |
Tipo de ensamblado | MyCustomControl.USDControl |
Nota
URI de ensamblado es el nombre del ensamblado y Tipo de ensamblado es el nombre del ensamblado (dll) seguido de un punto (.) y a continuación el nombre de clases en el proyecto de Visual Studio. En este ejemplo, el nombre del ensamblado es MyCustomControl y el nombre de la clase es USDControl, que es el nombre de clase predeterminado cuando se crea un control hospedado personalizado.
Seleccione Guardar para crear el control hospedado.
Cree la acción del control hospedado que definió en Visual Studio. Seleccione la pestaña Relacionado y, a continuación, seleccione Acciones de UII.
Seleccione + Nueva acción de UII.
Escriba el MyCustomAction en el campo Nombre y elija Guardar.
Ahora ha configurado la control hospedado personalizado y la acción personalizada en el servidor de Microsoft Dataverse.
Ejecute el cliente de Unified Service Desk para trabajar con control hospedado personalizado
Copie el ensamblado contiene la definición personalizada de control hospedado desde la carpeta de salida del proyecto de Visual Studio (<ProjectFolder>\bin\debug)en el directorio de la aplicación de Unified Service Desk. En este caso, copiará el archivo MyCustomControl.dll en el directorio c:\Program Files\Microsoft Dynamics CRM USD\USD.
Ejecute el cliente de Unified Service Desk para conectarse al servidor de Dataverse.
Si inicia la sesión correctamente, verá el control hospedado personalizado, Mi control hospedado personalizado, en el escritorio.
Seleccione Iniciar Depurador para iniciar el control hospedado Depurador.
Para probar la acción personalizada, elija la pestaña Depurador, y luego seleccione la flecha abajo sobre la pestaña Llamadas a la acción para mostrar el área donde puede probar llamadas a la acción y acciones de UII.
Elija la pestaña Acción directa.
En la lista Control hospedado, seleccione Mi control hospedado personalizado, y en la lista Acción, seleccione MyCustomAction.
Según la definición de acción personalizada, esta llamada a la acción espera un parámetro denominado
username
. Por tanto, agregue el siguiente valor en el campo Datos: username=Tracie Hamilton.Seleccione el icono Ejecutar acción directa () y, a continuación, seleccione la pestaña Mi control hospedado personalizado. Se muestra el nombre de usuario especificado en el campo de etiqueta.
Consulte también
Control hospedado de USD (control hospedado)
Referencia de tipos de control hospedado y acciones/eventos
Tutoriales de configuración de Unified Service Desk
Usar un control hospedado personalizado en Unified Service Desk