Tutorial: Crear una aplicación sencilla con C#

Se aplica a:yesVisual Studio noVisual Studio para Mac noVisual Studio Code

Tras completar este tutorial, estará familiarizado con muchas de las herramientas, cuadros de diálogo y diseñadores que puede usar para desarrollar aplicaciones con Visual Studio. Creará una aplicación "Hola mundo", diseñará la interfaz de usuario, agregará código y depurará errores, mientras aprende a trabajar en el entorno de desarrollo integrado (IDE).

Requisitos previos

  • Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.
  • Asegúrese de que está instalada la carga de trabajo Desarrollo de escritorio de .NET. Puede comprobarlo en el Instalador de Visual Studio.
  • Para este tutorial puede usar .NET Framework o .NET Core. .NET Core es el marco más reciente y moderno. .NET Core requiere la versión 16.3 de Visual Studio 2019 o posterior.

Configurar el IDE

Al iniciar Visual Studio, la primera ventana que se abre es la de inicio. Haga clic en Continuar sin código para abrir el entorno de desarrollo. Se mostrarán las ventanas de herramientas, los menús, las barras de herramientas y el espacio de la ventana principal. Las ventanas de herramientas se acoplan a los lados izquierdo y derecho de la ventana de la aplicación. El cuadro de búsqueda, la barra de menús y la barra de herramientas estándar se encuentran en la parte superior. Cuando se carga una solución o un proyecto, los editores y diseñadores aparecen en el espacio central de la ventana de la aplicación. Cuando desarrolle una aplicación, pasará la mayor parte del tiempo en esta área central.

Crear el proyecto

Cuando cree una aplicación en Visual Studio, primero creará un proyecto y una solución. Para este ejemplo, creará un proyecto de Windows Presentation Foundation (WPF).

  1. Abra Visual Studio.

  2. En la ventana de inicio, elija Crear proyecto.

    Vista de la ventana

  3. En la pantalla Crear un nuevo proyecto nuevo, busque "WPF", elija Aplicación WPF y después seleccione Siguiente.

    Captura de pantalla del cuadro de diálogo

  4. En la pantalla siguiente, asígnele al proyecto el nombre HelloWPFApp y haga clic en Siguiente.

    Captura de pantalla del cuadro de diálogo

  5. En la ventana Información adicional, .NET Core 3.1 ya debe estar seleccionado para la plataforma de destino. Si no es así, seleccione .NET Core 3.1. Luego, elija Crear.

    En la ventana

Visual Studio crea el proyecto HelloWPFApp y la solución, y el Explorador de soluciones muestra los distintos archivos. WPF Designer muestra una vista de diseño y una vista XAML de MainWindow.xaml en una vista en dos paneles. Puede deslizar el divisor para mostrar más o menos de cualquiera de las vistas. Puede elegir ver solo la vista visual o solo la vista XAML.

Proyecto WPF y solución en el IDE

Nota

Para más información sobre XAML (eXtensible Application Markup Language), consulte la página Información general XAML (WPF).

Después de crear el proyecto, puede personalizarlo. Para ello, elija Ventana Propiedades en el menú Ver o presione F4. Después, puede mostrar y cambiar las opciones de elementos de proyecto, controles y otros elementos de una aplicación.

Ventana Propiedades

  1. Abra Visual Studio.

  2. En la ventana de inicio, elija Crear un proyecto nuevo.

    Captura de pantalla de la ventana de inicio de Visual Studio 2022 con la opción

  3. En la pantalla Crear un nuevo proyecto nuevo, busque "WPF", elija Aplicación WPF y después seleccione Siguiente.

    Captura de pantalla del cuadro de diálogo

  4. En la pantalla siguiente, asígnele al proyecto el nombre HelloWPFApp y haga clic en Siguiente.

    Captura de pantalla del cuadro de diálogo

  5. En la ventana Información adicional, .NET 6.0 (Compatibilidad a largo plazo) ya debe estar seleccionado para la plataforma de destino. Si no es así, seleccione .NET 6.0 (Compatibilidad a largo plazo) . Luego, elija Crear.

    Captura de pantalla de la ventana Información adicional con

Visual Studio crea el proyecto HelloWPFApp y la solución, y el Explorador de soluciones muestra los distintos archivos. WPF Designer muestra una vista de diseño y una vista XAML de MainWindow.xaml en una vista en dos paneles. Puede deslizar el divisor para mostrar más o menos de cualquiera de las vistas. Puede elegir ver solo la vista visual o solo la vista XAML.

Captura de pantalla del proyecto HelloWPFApp y la solución en el IDE de Visual Studio con el Explorador de soluciones abierto y el XAML y las vistas de diseñador de

Nota

Para más información sobre XAML (eXtensible Application Markup Language), consulte la página Información general XAML (WPF).

Después de crear el proyecto, puede personalizarlo. Para ello, elija Ventana Propiedades en el menú Ver o presione F4. Después, puede mostrar y cambiar las opciones de elementos de proyecto, controles y otros elementos de una aplicación.

Captura de pantalla de la ventana Propiedades que muestra la sección Varios de las propiedades de la solución correspondientes al proyecto HelloWPFApp.

Diseñar la interfaz de usuario (IU)

Si el diseñador no está abierto, seleccione MainWindow.xaml y presione Mayús+F7 para abrir el diseñador.

Agregaremos tres tipos de controles a esta aplicación: un control TextBlock, dos controles RadioButton y un control Button.

Agregar un control TextBlock

  1. Presione Ctrl+Q para activar el cuadro de búsqueda y escriba cuadro de herramientas. Elija Ver > Cuadro de herramientas en la lista de resultados.

  2. En el Cuadro de herramientas, expanda el nodo Controles WPF comunes para ver el control TextBlock.

    Cuadro de herramientas con el control TextBlock resaltado

  3. Agregue un control TextBlock a la superficie de diseño. Para ello, elija el elemento TextBlock y arrástrelo a la ventana en la superficie de diseño. Centre el control cerca de la parte superior de la ventana. En Visual Studio 2019 y versiones posteriores, puede usar las guías de color rojo para centrar el control.

    La ventana debería ser similar a la siguiente ilustración:

    Control TextBlock en el formulario MainWindow

    El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
    </Grid>
    
  1. Presione Ctrl+Q para activar el cuadro de búsqueda y escriba cuadro de herramientas. Elija Ver > Cuadro de herramientas en la lista de resultados.

  2. En el Cuadro de herramientas, expanda el nodo Controles WPF comunes para ver el control TextBlock.

    Captura de pantalla de la ventana Cuadro de herramientas con el control TextBlock seleccionado en la lista de controles WPF comunes.

  3. Agregue un control TextBlock a la superficie de diseño. Para ello, elija el elemento TextBlock y arrástrelo a la ventana en la superficie de diseño. Centre el control cerca de la parte superior de la ventana. Puede usar las instrucciones para centrar el control.

    La ventana debería ser similar a la siguiente imagen:

    Captura de pantalla del control TextBlock en la superficie de diseño. Se muestran instrucciones para colocar y cambiar el tamaño del control.

    El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
    </Grid>
    

Personalizar el texto en el bloque de texto

  1. En la vista XAML, busque el marcado de TextBlock y cambie el atributo Text de TextBox a Select a message option and then choose the Display button..

    El marcado XAML debe tener un aspecto similar al siguiente ejemplo:

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
    </Grid>
    
  2. Vuelva a centrar TextBlock si quiere y, luego, guarde los cambios. Para ello, presione Ctrl+S o use el elemento de menú Archivo.

Después, agregará dos controles RadioButton al formulario.

Agregar botones de radio

  1. En el Cuadro de herramientas, busque el control RadioButton.

    Ventana Cuadro de herramientas con el control RadioButton seleccionado

  2. Agregue dos controles RadioButton a la superficie de diseño. Para ello, elija el elemento RadioButton y arrástrelo a la ventana en la superficie de diseño. Mueva los botones (para hacerlo, selecciónelos y use las teclas de dirección) de modo que aparezcan uno junto al otro bajo el control TextBlock. Use las guías de color rojo para alinear los controles.

    La ventana debe ser similar a la que se muestra a continuación:

    Formulario MainWindow con TextBlock y dos botones de radio

  3. En la ventana Propiedades del control RadioButton izquierdo, cambie la propiedad Name (la propiedad situada en la parte superior de la ventana Propiedades ) a HelloButton.

    Ventana de propiedades de RadioButton

  4. En la ventana Propiedades del control RadioButton derecho, cambie la propiedad Name a GoodbyeButton y después guarde los cambios.

A continuación, podrá agregar el texto para mostrar de cada control RadioButton. El procedimiento siguiente actualiza la propiedad Content de un control RadioButton.

  1. En el Cuadro de herramientas, busque el control RadioButton.

    Captura de pantalla de la ventana Cuadro de herramientas con el control RadioButton seleccionado en la lista de controles WPF comunes.

  2. Agregue dos controles RadioButton a la superficie de diseño. Para ello, elija el elemento RadioButton y arrástrelo a la ventana en la superficie de diseño. Mueva los botones (para hacerlo, selecciónelos y use las teclas de dirección) de modo que aparezcan uno junto al otro bajo el control TextBlock. Puede usar las instrucciones para alinear los controles.

    La ventana debe ser similar a la que se muestra a continuación:

    Captura de pantalla de la ventana Diseño para Greetings.xaml, que muestra un control TextBlock y dos controles RadioButton situados en la superficie de diseño.

  3. En la ventana Propiedades del control RadioButton izquierdo, cambie la propiedad Name (la propiedad situada en la parte superior de la ventana Propiedades ) a HelloButton.

    Captura de pantalla de la ventana Propiedades para un control RadioButton. El valor de la propiedad Name se ha cambiado a

  4. En la ventana Propiedades del control RadioButton derecho, cambie la propiedad Name a GoodbyeButton y después guarde los cambios.

A continuación, podrá agregar el texto para mostrar de cada control RadioButton. El procedimiento siguiente actualiza la propiedad Content de un control RadioButton.

Agregar el texto para mostrar de cada botón de radio

  1. Cambie el atributo Content de los controles HelloButton y GoodbyeButton por "Hello" y "Goodbye" en el código XAML. El marcado XAML ahora debería ser similar al del ejemplo siguiente:

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
    </Grid>
    

Establecer que un botón de radio esté activado de forma predeterminada

En este paso haremos que HelloButton esté activado de forma predeterminada, de modo que siempre esté seleccionado uno de los dos botones de radio.

  1. En la vista XAML, busque el marcado de HelloButton.

  2. Agregue un atributo IsChecked y establézcalo en True. Específicamente, agregue IsChecked="True".

    El marcado XAML ahora debería ser similar al del ejemplo siguiente:

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
    </Grid>
    

El último elemento de la interfaz de usuario que agregará es un control Button.

Agregar el control Button

  1. En el Cuadro de herramientas, busque el control Botón y, después, agréguelo a la superficie de diseño en los controles RadioButton. Para ello, arrástrelo al formulario de la vista de diseño. Si usa Visual Studio 2019 o una versión posterior, una línea de color rojo le ayuda a centrar el control.

  2. En la vista XAML, cambie el valor de Content del control de botón de Content="Button" a Content="Display" y, después, guarde los cambios.

    La ventana debería parecerse a la de la siguiente ilustración.

    Formulario MainWindow con etiquetas de control

    El marcado XAML ahora debería ser similar al del ejemplo siguiente:

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
         <Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0" VerticalAlignment="Top" Width="75"/>
    </Grid>
    
  1. En el Cuadro de herramientas, busque el control Botón y, después, agréguelo a la superficie de diseño en los controles RadioButton. Para ello, arrástrelo al formulario de la vista de diseño. Las instrucciones pueden ayudarle a centrar el control.

  2. En la vista XAML, cambie el valor de Content del control de botón de Content="Button" a Content="Display" y, después, guarde los cambios.

    La ventana debería ser similar a la siguiente captura de pantalla.

    Captura de pantalla de la ventana Diseño para Greetings.xaml que muestra un control TextBlock, dos controles RadioButton etiquetados como

    El marcado XAML ahora debería ser similar al del ejemplo siguiente:

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
         <Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0" VerticalAlignment="Top" Width="75"/>
    </Grid>
    

Agregar código al botón Mostrar

Cuando se ejecuta esta aplicación, aparece un cuadro de mensaje después de que un usuario elija un botón de radio y, luego, el botón Display. Aparecerá un cuadro de mensaje para Hello y otro para Goodbye. Para crear este comportamiento, deberá agregar código al evento Button_Click en MainWindow.xaml.cs.

  1. En la superficie de diseño, haga doble clic en el botón Mostrar .

    Se abre MainWindow.xaml.cs con el cursor en el evento Button_Click.

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    
    }
    
  2. Escriba el siguiente código:

    if (HelloButton.IsChecked == true)
    {
         MessageBox.Show("Hello.");
    }
    else if (GoodbyeButton.IsChecked == true)
    {
        MessageBox.Show("Goodbye.");
    }
    
  3. Guarde la aplicación.

Cuando se ejecuta esta aplicación, aparece un cuadro de mensaje después de que un usuario elija un botón de radio y, luego, el botón Display. Aparecerá un cuadro de mensaje para Hello y otro para Goodbye. Para crear este comportamiento, deberá agregar código al evento Button_Click en MainWindow.xaml.cs.

  1. En la superficie de diseño, haga doble clic en el botón Mostrar .

    Se abre MainWindow.xaml.cs con el cursor en el evento Button_Click.

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    
    }
    
  2. Escriba el siguiente código:

    if (HelloButton.IsChecked == true)
    {
         MessageBox.Show("Hello.");
    }
    else if (GoodbyeButton.IsChecked == true)
    {
        MessageBox.Show("Goodbye.");
    }
    
  3. Guarde la aplicación.

Depurar y probar la aplicación

Después, depurará la aplicación para buscar errores y probar que los dos cuadros de mensaje aparecen correctamente. Las siguientes instrucciones indican cómo compilar e iniciar el depurador, pero más adelante podría leer Build a WPF application (WPF) [Compilar una aplicación de WPF (WPF)] y Depurar WPF para obtener más información.

Cambiar el nombre de MainWindow.xaml

Asignemos a MainWindow un nombre más específico. En el Explorador de soluciones, haga clic con el botón derecho en MainWindow.xaml y seleccione Cambiar nombre. Cambie el nombre del archivo por Greetings.xaml.

Buscar y corregir errores

En este paso, buscará el error que se ha producido anteriormente al cambiar el nombre del archivo MainWindow.xaml.

Iniciar la depuración y buscar el error

  1. Para iniciar el depurador, presione F5 o seleccione Depurar y, a continuación, Iniciar depuración.

    Aparece la ventana Modo de interrupción y en la ventana Salida se indica que se ha producido una excepción IOException: No se encuentra el recurso "mainwindow.xaml".

    Mensaje IOException

  2. Detenga el depurador. Para ello, elija Depurar>Detener depuración.

Hemos cambiado el nombre de MainWindow.xaml a Greetings.xaml, pero el código todavía hace referencia a MainWindow.xaml como URI de inicio de la aplicación, por lo que el proyecto no puede iniciarse.

  1. Para iniciar el depurador, presione F5 o seleccione Depurar y, a continuación, Iniciar depuración.

    Aparece la ventana Modo de interrupción y en la ventana Salida se indica que se ha producido una excepción IOException: No se encuentra el recurso "mainwindow.xaml".

    Captura de pantalla de la ventana Salida que muestra una excepción System.IO.IOException con el mensaje

  2. Detenga el depurador. Para ello, elija Depurar>Detener depuración.

Hemos cambiado el nombre de MainWindow.xaml a Greetings.xaml al comienzo de este tutorial, pero el código todavía hace referencia a MainWindow.xaml como URI de inicio de la aplicación, por lo que el proyecto no puede iniciarse.

Especificar Greetings.xaml como el URI de inicio

  1. En el Explorador de soluciones, abra el archivo App.xaml.

  2. Cambie StartupUri="MainWindow.xaml" a StartupUri="Greetings.xaml" y guarde los cambios.

Como paso opcional, evitará confusiones al cambiar el título de la ventana de la aplicación para que coincida con este nuevo nombre.

  1. En el Explorador de soluciones, abra el archivo Greetings.xaml al que acaba de cambiar el nombre.

  2. Cambie el valor de la propiedad Window.Title de Title="MainWindow" a Title="Greetings", y guarde los cambios.

Vuelva a iniciar el depurador (presione F5). Ahora debería ver la ventana Greetings de la aplicación.

Captura de pantalla de la aplicación en ejecución

Captura de pantalla de la ventana Greetings con los controles TextBlock, RadioButtons y Button visibles. El botón de radio

Ahora, cierre la ventana de la aplicación para detener la depuración.

Depurar con puntos de interrupción

Puede probar el código durante la depuración. Para ello, agregue algunos puntos de interrupción. Para agregar puntos de interrupción, puede elegir Depurar>Alternar puntos de interrupción, hacer clic en el margen izquierdo del editor junto a la línea de código donde quiere que se produzca la interrupción o bien presionar F9.

Agregar puntos de interrupción

  1. Abra Greetings.xaml.cs y seleccione la línea siguiente: MessageBox.Show("Hello.")

  2. Agregue un punto de interrupción en el menú seleccionando Depurary después Alternar puntos de interrupción.

    Aparece un círculo rojo al lado de la línea de código en el margen izquierdo de la ventana del editor.

  3. Seleccione la línea siguiente: MessageBox.Show("Goodbye.").

  4. Presione la tecla F9 para agregar un punto de interrupción y, después, presione F5 para iniciar la depuración.

  5. En la ventana Greetings , elija el botón de radio Hello y después elija el botón Mostrar .

    La línea MessageBox.Show("Hello.") se resalta en amarillo. En la parte inferior del IDE, las ventanas Automático, Variables locales e Inspección están acopladas juntas en el lado izquierdo, mientras que las ventanas Pila de llamadas, Puntos de interrupción, Configuración de excepción, Comando, Inmediato y Salida están acopladas juntas en el lado derecho.

    Punto de interrupción en el depurador

  6. En la barra de menús, elija Depurar>Paso a paso para salir.

    La aplicación reanuda la ejecución y aparece un cuadro de mensaje con la palabra "Hello".

  7. Elija el botón Aceptar en el cuadro de mensaje para cerrarlo.

  8. En la ventana Greetings , elija el botón de radio Goodbye y después elija el botón Mostrar .

    La línea MessageBox.Show("Goodbye.") se resalta en amarillo.

  9. Presione la tecla F5 para continuar con la depuración. Cuando aparezca el cuadro de mensaje, elija el botón Aceptar en el cuadro de mensaje para cerrarlo.

  10. Cierre la ventana de la aplicación para detener la depuración.

  11. En la barra de menús, elija Depurar>Deshabilitar todos los puntos de interrupción.

  1. Abra Greetings.xaml.cs y seleccione la línea siguiente: MessageBox.Show("Hello.")

  2. Agregue un punto de interrupción en el menú seleccionando Depurary después Alternar puntos de interrupción.

    Aparece un círculo rojo al lado de la línea de código en el margen izquierdo de la ventana del editor.

  3. Seleccione la línea siguiente: MessageBox.Show("Goodbye.").

  4. Presione la tecla F9 para agregar un punto de interrupción y, después, presione F5 para iniciar la depuración.

  5. En la ventana Greetings , elija el botón de radio Hello y después elija el botón Mostrar .

    La línea MessageBox.Show("Hello.") se resalta en amarillo. En la parte inferior del IDE, las ventanas Automático, Variables locales e Inspección están acopladas juntas en el lado izquierdo, mientras que las ventanas Pila de llamadas, Puntos de interrupción, Configuración de excepción, Comando, Inmediato y Salida están acopladas juntas en el lado derecho.

    Captura de pantalla de una sesión de depuración de Visual Studio. La ventana de código para Greetings.xaml.cs muestra la ejecución detenida en un punto de interrupción con una línea resaltada en amarillo.

  6. En la barra de menús, elija Depurar>Paso a paso para salir.

    La aplicación reanuda la ejecución y aparece un cuadro de mensaje con la palabra "Hello".

  7. Elija el botón Aceptar en el cuadro de mensaje para cerrarlo.

  8. En la ventana Greetings , elija el botón de radio Goodbye y después elija el botón Mostrar .

    La línea MessageBox.Show("Goodbye.") se resalta en amarillo.

  9. Presione la tecla F5 para continuar con la depuración. Cuando aparezca el cuadro de mensaje, elija el botón Aceptar en el cuadro de mensaje para cerrarlo.

  10. Cierre la ventana de la aplicación para detener la depuración.

  11. En la barra de menús, elija Depurar>Deshabilitar todos los puntos de interrupción.

Visualización de una representación de los elementos de la interfaz de usuario

En la aplicación en ejecución, debería ver un widget que aparece en la parte superior de la ventana. El widget se trata de una aplicación auxiliar en tiempo de ejecución que proporciona acceso rápido a algunas características de depuración útiles. Seleccione el primer botón, Ir al árbol visual dinámico. Debería ver una ventana con un árbol que contiene todos los elementos visuales de la página. Expanda los nodos para buscar los botones que ha agregado.

Captura de pantalla de la ventana Árbol visual dinámico

Captura de pantalla de la ventana Árbol visual dinámico, que muestra el árbol de elementos visuales de HelloWPFApp.exe mientras se ejecuta.

Compilar una versión de lanzamiento de la aplicación

Ahora que ha comprobado que todo funciona, puede preparar una versión de lanzamiento de la aplicación.

  1. En el menú principal, seleccione Compilar>Limpiar solución para eliminar los archivos intermedios y de salida que se han creado durante las compilaciones anteriores. Este paso no es necesario, pero se limpian las salidas de compilación de depuración.

  2. Cambie la configuración de compilación de HelloWPFApp de Depurar a Liberar mediante el control de lista desplegable en la barra de herramientas (dice "Depurar" actualmente).

  3. Compile la solución seleccionando Compilar>Compilar solución.

Enhorabuena por completar este tutorial. Puede encontrar el .exe creado en el directorio de soluciones y proyectos ( ...\HelloWPFApp\HelloWPFApp\bin\Release).

Pasos siguientes

Enhorabuena por completar este tutorial. Para más información, continúe con los tutoriales siguientes.

Vea también