Crear un nuevo método de control de eventos

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

Cuando trabaje con un proyecto de Windows Presentation Foundation o Silverlight 2, Microsoft Expression Blend puede generar código para los métodos de control de eventos vacíos para ayudarle a empezar.

[!NOTA]

Para obtener información acerca del control de eventos en Microsoft Silverlight 1.0, vea Información general de Silverlight 1.0 y Crear un botón que controle un guión gráfico en una aplicación de Silverlight. Vea también el artículo sobre eventos del mouse y scripting de Silverlight (puede estar en inglés).

Si tiene instalado Microsoft Visual Studio 2008 Standard Edition o una versión posterior, Expression Blend abrirá el proyecto en Visual Studio 2008, abrirá el archivo de código subyacente y, a continuación, pegará el método de control de eventos vacío en él. Si no tiene instalado Visual Studio 2008 Standard Edition o una versión posterior, Expression Blend copiará el método de control de eventos vacío en el Portapapeles para que pueda abrir manualmente el archivo de código subyacente y pegar el código.

Para obtener más información sobre los controladores de eventos en el código, vea Control de eventos e interactividad del usuario en este manual del usuario. Para obtener información acerca de cómo crear interactividad en la aplicación de Expression Blend sin usar código, vea Desencadenadores e interactividad del usuario en este manual del usuario.

Para crear un nuevo método de control de eventos

  1. Abra el proyecto en Expression Blend.

  2. Para abrir el documento (por ejemplo, Window1.xaml), haga doble clic en él en Archivos, en el panel Proyecto. El documento se abrirá para su edición. Asegúrese de que se encuentra en la vista Diseño; para ello, haga clic en la ficha Diseño situada en el lado derecho de la mesa de trabajo.

  3. En Objetos y escala de tiempo, en el panel Interacción, seleccione el elemento que desee enlazar con un método de control de eventos existente. Por ejemplo, si desea que un elemento rectángulo se mueva al hacer clic en un botón, seleccione el elemento de botón. El fondo situado detrás del nombre del elemento se resaltará para mostrar que el elemento está seleccionado.

  4. En el panel Propiedades, haga clic en el botón EventosCc294821.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(es-es,Expression.10).png. Aparecerá una lista de todos los eventos disponibles para el elemento seleccionado, por orden alfabético.

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

    Los eventos no aparecerán si el proyecto se encuentra en estado temporal. Por ejemplo, un proyecto recién creado se almacena en una ubicación temporal hasta que se hace clic en Archivo y Guardar todo. Una vez guardado el proyecto, podrá ver y seleccionar eventos en el panel Eventos. Por otra parte, los eventos no aparecerán si selecciona varios objetos al mismo tiempo en Objetos y escala de tiempo (por ejemplo, si mantiene presionada la tecla CTRL para seleccionar varios objetos).

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

    Para ver una breve descripción de un evento, mueva el puntero del mouse sobre el nombre del evento. Aparecerá la información sobre herramientas con una descripción del evento. También puede ver una lista de los eventos disponibles y sus descripciones en la referencia rápida de eventos.

  5. Busque el evento al que desea agregar lógica de programación. Por ejemplo, en el ejemplo del botón y el rectángulo, buscaría el evento MouseDown.

  6. Existen dos maneras de generar el método de control de eventos vacío:

    • Haga doble clic en el cuadro de texto junto al nombre del evento. Expression Blend generará un nombre predeterminado para el método de control de eventos, lo escribirá en el cuadro de texto y generará el código para el método vacío.

    • Escriba un nombre en el cuadro de texto junto al nombre del evento y, a continuación, presione Entrar o haga clic en otro lugar para salir del cuadro de texto. Los nombres de métodos de eventos deben empezar con una letra. Si el nombre del método no existe aún en el archivo de código subyacente, Expression Blend generará el código para el método vacío y usará el nombre que escribió anteriormente.

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

    Puede configurar Expression Blend para que use el Portapapeles incluso si está instalado Visual Studio 2008. En el menú Herramientas, haga clic en Opciones y, a continuación, en Controladores de eventos. En Experiencia de edición, haga clic en Sólo Portapapeles.

  7. A partir de aquí, Expression Blend realizará una de las siguientes acciones:

    • Si tiene instalado Visual Studio 2008 Standard Edition o una versión posterior, Expression Blend abrirá el proyecto en Visual Studio 2008, abrirá el archivo de código subyacente y, a continuación, pegará automáticamente el método de control de eventos vacío en él.

    • Si no tiene instalado Visual Studio 2008 Standard Edition o una versión posterior, Expression Blend copiará el método de control de eventos vacío en el Portapapeles y mostrará una ventana emergente que explica qué hacer a continuación. En este caso, puede abrir el archivo de código subyacente manualmente para pegar el método dentro de la definición de clase para la ventana, del modo siguiente:

      public partial class Window1
      {
          public Window1()
          {
              this.InitializeComponent();
    
              // Insert code required on object creation below this point.
          }
    
          private void Button_MouseDown(object sender, RoutedEventArgs e)      {      }
      }
    

    [!NOTA]

    Si tiene asignada una aplicación (como Bloc de notas) a los archivos .cs o .vb, puede abrir el archivo de código subyacente manualmente haciendo doble clic en el nombre del archivo en Archivos, en el panel Proyecto. Expression Blend abrirá el archivo en esa aplicación.

    Si no tiene una aplicación asignada a los archivos .cs o .vb, Expression Blend no podrá abrir el archivo de forma externa. Para abrir el archivo, búsquelo en el Explorador de Windows (o, si ha guardado el proyecto en Expression Blend, haga clic en ExplorarProyecto en el menú Proyecto), haga clic con el botón secundario en el archivo .cs o .vb que desea editar, seleccione Abrir con y, a continuación, seleccione Bloc de notas (u otra aplicación de edición). Después de esto, podrá abrir los archivos de código subyacente manualmente desde el panel Proyecto en Expression Blend.

  8. Con el archivo de código subyacente abierto y el método de control de eventos pegado, puede empezar a agregar código al método. Para este procedimiento, puede agregar la siguiente línea de código en rojo para que aparezca un cuadro de mensaje cuando se haga clic en el botón:

      private void Button_MouseDown(object sender, RoutedEventArgs e)
      {
          MessageBox.Show("Hello!");
      }
    

    Para obtener ejemplos de métodos de control de eventos en archivos de código subyacente, vea los ejemplos disponibles en la Pantalla de bienvenida (haga clic en Pantalla de bienvenida en el menú Ayuda).

    [!NOTA]

    Expression Blend devolverá un error de generación si hace referencia a un método de control de eventos en el panel Eventos que no exista en el archivo de código subyacente. Si se produce este tipo de error, compruebe si el nombre del método de control de eventos está bien escrito o haga doble clic en el cuadro de texto del evento para crear un nuevo método de control de eventos vacío.

    Si elimina o cambia el nombre de un método de control de eventos en un cuadro de texto en el panel Eventos, Expression Blend no elimina el método original del archivo de código subyacente. La razón es que el evento se puede estar usando en otro lugar. No recibirá ningún error de generación si hay un método de control de eventos definido en el archivo de código subyacente al que no se haga referencia en el archivo XAML.

    [!NOTA]

    Si desea hacer referencia a un elemento del archivo .xaml desde un archivo de código subyacente, debe dar un nombre al elemento del archivo .xaml. De forma predeterminada, los elementos que se crean en Expression Blend no tienen nombre. Puede dar un nombre a un elemento en Objetos y escala de tiempo, en el panel Interacción; para ello, haga clic con el botón secundario en el elemento y, a continuación, haga clic en Cambiar nombre.