Crear o editar una plantilla de control

Esta página es específica de WPF y Silverlight 2

La plantilla de un control en un proyecto Microsoft Expression Blend 2 determina su apariencia mediante la definición de los controles secundarios incluidos en el control. Por ejemplo, la plantilla de control de TextBox contiene un elemento Border denominado Bd que, a su vez, contiene un elemento ScrollViewer llamado PART_ContentHost. El elemento ScrollViewer muestra el contenido del control TextBox cuando la plantilla de control se aplica a un objeto TextBox en la mesa de trabajo.

Editar la plantilla de un control TextBox

Cc294908.5b3d19c3-460f-4cd1-8a35-262f8b3005b1(es-es,Expression.10).png

Una plantilla de control predeterminada usa un tema dinámico que cambia la apariencia del control en función de si la aplicación se ejecuta en un equipo con Microsoft Windows XP o en un equipo con Windows Vista. Puede modificar los elementos (partes del control) de una plantilla de control para reorganizar los elementos o agregar más elementos al control. Sin embargo, si modifica una plantilla para un control del sistema, el control tendrá la misma apariencia tanto en Windows XP como en Windows Vista. Para obtener más información, vea la sección sobre temas y estilos simples en Información general sobre estilos y plantillas.

Las plantillas de control se guardan como un recurso style que puede aplicar a otros controles del mismo tipo.

[!NOTA]

Puede configurar desencadenadores en una plantilla de control que se correspondan con cambios en las propiedades (como IsMouseOver [mouse sobre]). Por ejemplo, puede crear un desencadenador de propiedad para un control TextBox que cambie el color de fondo cuando el cursor del mouse se mueva sobre el TextBox.

Si desea crear un desencadenador de eventos que responda a un evento cambiando las propiedades o iniciando una animación, debe crearlo en un estilo. Para obtener más información, vea Editar un estilo.

Cc294908.alert_caution(es-es,Expression.10).gifPrecaución:

Cambiar la plantilla de un control puede anular la funcionalidad del control. Como alternativa a la edición de la plantilla de control para un control del sistema, puede usar un control simple con un estilo predeterminado que le dé libertad total sobre el diseño de la plantilla. Para obtener más información, vea Trabajar con estilos simples.

Si ninguno de los estilos simples satisface sus necesidades y desea modificar la plantilla de un control del sistema, tome las siguientes precauciones:

  • Evite cambiar los desencadenadores existentes excepto cuando cambie sólo de pincel.

  • No cambie el nombre de ningún elemento cuyo nombre empiece por "PART_" ni modifique el elemento porque el código que implementa el control hace referencia a estos elementos.

  • No restablezca ni cambie ningún enlace en el panel Propiedades. Se identifican por medio del resaltado amarillo que rodea a la propiedad o mediante el botón amarillo Opciones avanzadas de la propiedad.

  • Si la plantilla incluye un elemento ContentPresenter o Presenter (como un elemento ContentPresenter o ItemsPresenter), asegúrese de mantener este elemento en la plantilla. Los elementos Presenter muestran contenidos que se definen en el control que usará la plantilla.

Para crear una plantilla de control

  1. En Objetos y escala de tiempo o en la mesa de trabajo, seleccione el objeto desde el que desea crear una plantilla de control y realice una de las siguientes acciones:

    • En el menú Objeto, elija Editar partes del control (Plantilla).

    • Haga clic con el botón secundario en el objeto en Objetos y escala de tiempo y elija Editar partes del control (Plantilla).

  2. Elija Editar plantilla y realice una de las siguientes acciones:

    • Para crear una plantilla nueva vacía, haga clic en Crear vacío.

    • Para crear una nueva plantilla basada en la plantilla usada actualmente por el elemento seleccionado (ya sea la plantilla predeterminada del objeto o una plantilla personalizada creada previamente), haga clic en Editar una copia.

      [!NOTA]

      Si la opción Editar plantilla está habilitada, significa que la plantilla ya se ha aplicado a este objeto. Puede elegir editar esta plantilla.

    Aparece el cuadro de diálogo Crear recurso Style. Esto sucede porque las plantillas de control se almacenan en un recurso style.

  3. En Nombre de recurso (clave), siga uno de estos procedimientos:

    • Para crear un estilo con nombre nuevo para el elemento, escriba un nombre de clave. Éste es el nombre por el cual otros elementos pueden hacer referencia al estilo y, por tanto, aplicar la plantilla.

    • Para crear un estilo que usen todos los elementos de este tipo, seleccione Aplicar a todos.

      Cc294908.alert_tip(es-es,Expression.10).gifSugerencia:

      En el XAML del elemento style que se va a crear, el atributo de nombre TargetType se configurará para el tipo de elemento para el que se crea el estilo. Sólo se configurará un atributo x:Key si se ha indicado un nombre de clave (la primera opción arriba). La presencia de un atributo x:Key sólo permite aplicar el estilo a elementos que especifiquen el estilo por el nombre de clave. La ausencia de un atributo x:Key hace que el estilo se aplique a todos los elementos de este tipo. Por ejemplo, el elemento style que se muestra más abajo no se aplica a todos los botones de la mesa de trabajo.

      <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"...

  4. En Definir en, seleccione la opción en la que desea definir el estilo:

    • Para que el estilo esté disponible para cualquier documento de la aplicación, seleccione Aplicación.

    • Para que el estilo esté disponible únicamente para el documento actual, seleccione Este documento (Window: Window).

    • Para definir el estilo en un archivo de diccionario de recursos que se pueda volver a usar en otros proyectos, seleccione Diccionario de recursos. A continuación, puede seleccionar un archivo de diccionario de recursos existente o crear otro Nuevo.

      [!NOTA]

      Los diccionarios de recursos no son compatibles con Silverlight 2.

  5. Haga clic en Aceptar para salir del cuadro de diálogo y abrir el estilo a fin de editarlo.

    Cc294908.alert_tip(es-es,Expression.10).gifSugerencia:

    En realidad, está creando un nuevo recurso de plantilla dentro de un estilo. Éste se convertirá en un recurso local y podrá verlo y modificarlo fácilmente en el panel Recursos.

  6. Observe la nueva barra de ruta de navegación de Expression Blend 2 en la parte superior de la mesa de trabajo.

    Barra de ruta de navegación con el modo de edición de plantillas seleccionado

    Cc294908.eb50efd9-44c6-41f9-8f50-7d40f6c42e61(es-es,Expression.10).png

    Si hace clic en los botones de la barra de ruta de navegación, podrá moverse rápidamente entre los modos de edición de plantillas, edición de estilos y ámbito de edición de objetos correspondientes al objeto seleccionado. La barra de ruta de navegación aparece para cualquier objeto seleccionado que tenga un estilo personalizado o una plantilla aplicada.

  7. Para modificar la plantilla, agregue o reorganice elementos secundarios, o agregue los desencadenadores de propiedad en el panel Interacción. Siga las precauciones indicadas más arriba si va a modificar la plantilla de un control del sistema.

  8. Para salir del ámbito de edición del estilo, haga clic en el botón Ámbito superiorCc294908.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(es-es,Expression.10).png en Objetos y escala de tiempo. De esta manera, volverá al ámbito de edición del documento.

    Cc294908.alert_tip(es-es,Expression.10).gifSugerencia:

    Observe que una vez que haya creado o aplicado un recurso style a un objeto, en el panel Propiedades, aparecerá resaltada en verde la propiedad Style (estilo) del objeto seleccionado para indicar que dicho objeto se encuentra enlazado, o vinculado, a ese recurso de estilo.

Cc294908.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Para editar la plantilla de un objeto dibujado en la mesa de trabajo

  • En la mesa de trabajo o en Objetos y escala de tiempo, haga clic en un objeto para seleccionarlo y, a continuación, realice una de las siguientes acciones:

    • En el menú Objeto, elija Editar partes del control (Plantilla) y haga clic en Editar plantilla.

    • Haga clic con el botón secundario en Objetos y escala de tiempo, elija Editar partes del control (Plantilla) y, a continuación, haga clic en Editar plantilla.

    • En el panel Propiedades, haga clic en la propiedad Style (estilo) (debería aparecer resaltada en verde, puesto que ha aplicado un estilo a este elemento previamente) y, a continuación, haga clic en Editar recurso en el menú contextual. Una vez en el ámbito de edición del estilo, haga clic con el botón secundario en el objeto Style en Objetos y escala de tiempo, elija Editar partes del control (Plantilla) y, a continuación, haga clic en Editar plantilla.

    [!NOTA]

    Si la opción Editar plantilla está deshabilitada, significa que no se ha aplicado ninguna plantilla al objeto.

    Microsoft Expression Blend indica el ámbito de edición de la plantilla.

Cc294908.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Para editar un recurso de plantilla

  • En el panel Recursos, busque el nombre del recurso y haga clic en el botón Editar recurso junto al nombre.

    Expression Blend indica el ámbito de edición de la plantilla.

Cc294908.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Para modificar una plantilla

  1. En el ámbito de edición de una plantilla, agregue los desencadenadores de propiedad en el panel Interacción o agregue elementos secundarios a la plantilla Siga las precauciones indicadas más arriba si va a modificar la plantilla de un control del sistema.

  2. Para salir del ámbito de edición de la plantilla, haga clic en el botón Ámbito superiorCc294908.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(es-es,Expression.10).png en Objetos yescala de tiempo.

    De esta manera, volverá al ámbito de edición del documento.

    Cc294908.alert_tip(es-es,Expression.10).gifSugerencia:

    Observe que una vez que haya creado o aplicado un recurso de plantilla a un objeto, en el panel Propiedades, aparecerá resaltada en verde la propiedad Style (estilo) del objeto seleccionado para indicar que dicho objeto se encuentra enlazado, o vinculado, a ese recurso style.

Cc294908.7e183f1f-37d8-4dcb-980c-19a5d61ca087(es-es,Expression.10).gifVolver al principio

Vea también

Conceptos

Trabajar con estilos simples

Inténtelo: Crear un botón mediante efectos de imagen