Compartir a través de


Depuración o deshabilitación de código de proyecto en el Diseñador XAML

En muchos casos, las excepciones no controladas del Diseñador XAML pueden deberse a un código de proyecto que intenta acceder a propiedades o métodos que devuelven valores distintos o funcionan de manera diferente cuando se ejecuta la aplicación en el diseñador. Puede depurar el código del proyecto en otra instancia de Visual Studio para resolver estas excepciones o evitarlas temporalmente al deshabilitar el código del proyecto en el diseñador.

El código del proyecto incluye:

  • Controles personalizados y controles de usuario

  • Bibliotecas de clases

  • Convertidores de valores

  • Enlaces con datos en tiempo de diseño generados a partir de código del proyecto

Cuando se deshabilita el código del proyecto, Visual Studio muestra marcadores de posición. Por ejemplo, Visual Studio muestra el nombre de la propiedad para un enlace donde los datos ya no están disponibles o un marcador de posición para un control que ya no se ejecuta.

Unhandled exception dialog

Para determinar si el código del proyecto está provocando una excepción

  1. En el cuadro de diálogo de excepción no controlada, elija el vínculo Haga clic aquí para recargar el diseñador .

  2. En la barra de menús, elija Depurar>Iniciar depuración para compilar y ejecutar la aplicación.

    Si la aplicación se compila y se ejecuta correctamente, la excepción en tiempo de diseño puede deberse a que su código de proyecto se está ejecutando en el diseñador.

Para depurar código de proyecto que se ejecuta en el diseñador

  1. En el cuadro de diálogo de excepción no controlada, elija el vínculo Haga clic aquí para deshabilitar la ejecución de código del proyecto y volver a cargar el diseñador .

  2. En el Administrador de tareas de Windows, elija el botón Finalizar tarea para cerrar todas las instancias del Diseñador de XAML de Visual Studio que se estén ejecutando actualmente.

    XAML designer instances in TaskManager

  3. En Visual Studio, abra la página XAML, que contiene el código o el control que desea depurar.

  4. Abra una nueva instancia de Visual Studio, y luego abra una segunda instancia del proyecto.

  5. Establezca un punto de interrupción en el código del proyecto.

  6. En la nueva instancia de Visual Studio, en la barra de menús, elija Depurar>Asociar al proceso.

  7. En el cuadro de diálogo Asociar al proceso, en la lista Procesos disponibles, elija el proceso que coincida con la versión de Visual Studio que usa y la plataforma para la que está desarrollando (vea la tabla siguiente) y, a continuación, elija el botón Adjuntar.

    Versión de Visual Studio Plataforma Nombre del proceso
    2017–2022 Aplicaciones para UWP UwpSurface.exe
    2017–2022 Aplicaciones WPF Core WpfSurface.exe
    Solo 2019 WPF Framework xDesProc.exe
    Solo 2022 WPF Framework WpfSurface.exe

    Importante

    En Visual Studio 2019, se trata de WpfSurface.exe si el Nuevo diseñador XAML de WPF está habilitado en Herramientas>Opciones>Entorno>Características en versión preliminar.

  8. En la primera instancia de Visual Studio, en la barra de menús, elija Depurar>Iniciar depuración.

    Ahora puede entrar en el código que se ejecuta en el diseñador.

Para deshabilitar el código del proyecto en el diseñador

  • En el cuadro de diálogo de excepción no controlada, elija el vínculo Haga clic aquí para deshabilitar la ejecución de código del proyecto y volver a cargar el diseñador .

  • Como alternativa, en la barra de herramientas en el Diseñador XAML, haga clic en el botón Deshabilitar código de proyecto.

    The Disable Project Code button

    Puede alternar el botón de nuevo para volver a habilitar el código del proyecto.

    Nota

    Para proyectos destinados a procesadores X64 o ARM, Visual Studio no puede ejecutar el código del proyecto en el diseñador, por lo que el botón Deshabilitar código de proyecto está deshabilitado en el diseñador.

  • Cualquiera de las opciones hace que el diseñador se vuelva a cargar, y luego deshabilita todo el código para el proyecto asociado.

    Nota

    Deshabilitar el código del proyecto puede provocar una pérdida de datos en tiempo de diseño. Una alternativa es depurar el código que se ejecuta en el diseñador.

Opciones de visualización de controles

Nota

Opciones de visualización de controles solo está disponible para aplicaciones de Plataforma universal de Windows que tienen como destino Windows 10 Fall Creators Update (compilación 16299) o posterior. La característica Opciones de visualización de controles está disponible en Visual Studio 2017, versión 15.9 o posterior.

En el diseñador XAML, puede cambiar las opciones de visualización de controles para que solo se muestren los controles de plataforma desde Windows SDK. Esto puede mejorar la confiabilidad del diseñador XAML.

Para cambiar las opciones de visualización de controles, haga clic en el icono que se encuentra en la parte inferior izquierda de la ventana del diseñador y, luego, seleccione una opción en Opciones de visualización de controles:

Control Display Options

Cuando selecciona Mostrar solo los controles de la plataforma, todos los controles personalizados que provienen de los SDK, controles de usuario de cliente, etc. no se representarán por completo. En su lugar, los reemplazan controles de reserva para mostrar el tamaño y la posición del control.