2010-12-17 144 views
22

Soy bastante nuevo en WPF y uso de XAML. Me frustra mucho que no pueda seleccionar un fragmento de XAML y comentarlo en Visual Studio 2010 usando el botón de comentario en la barra de herramientas si la sección resaltada ya incluye algunos comentarios.¿Hay alguna manera de comentar XAML que contiene comentarios?

Otros idiomas le permiten anidar comentarios dentro de los comentarios sin problema. ¿Hay alguna manera de comentar un comentario en XAML usando Visual Studio 2010?

+0

En la antigua C con comentarios de estilo '/ ** /', así como en Pascal antiguo con '{}' (no estoy seguro acerca de los dialectos modernos), los comentarios anidados eran un problema. – Vlad

+0

Estaba pensando más en usar los botones comentar/uncomment en visual studio. Tu punto es válido sin embargo. – tmoltzan

+0

No tengo VS 2010, pero en 2012 Simplemente puede usar el tipo de HTML comentarios. Intentalo. –

Respuesta

21

No, no hay forma de tener comentarios anidados en XAML.

Se podría utilizar el MC: atributo que se ignoran en su elemento raíz, y cualquier atributo o elemento prefijado con ese valor será ignorado Ej:

<UserControl ... 
    mc:Ignorable="i"> 

    <!-- Ignore Text attribute --> 
    <TextBlock i:Text="Hello" /> 

    <!-- Ignore entire button --> 
    <i:Button> 
    </i:Button> 

</UserControl> 

Tenga en cuenta que la mezcla establece el MC: valor de los atributos que se ignoran a ' d ', por lo que deberá usar, por ejemplo mc: Ignorable = "d i"

No estoy seguro de por qué estás comentando tanto el contenido de XAML?

+3

En realidad, no lo hago con tanta frecuencia, pero a veces, cuando intento diferentes maneras de hacer las cosas en las plantillas, no quiero eliminar una plantilla que funcione para probar un nuevo enfoque. Todavía estoy hurgando con plantillas bastante solo para ver lo que puedo hacer. – tmoltzan

+1

Esto funciona bien a excepción de los archivos ResourceDictionary. No parecen tener esa propiedad. –

+1

* "No quiero eliminar una plantilla que funcione para intentar un nuevo enfoque" * - Parece que no está usando un [SCM] (https://en.wikipedia.org/wiki/Software_configuration_management). Entre muchas otras cosas, un SCM te permite jugar sin romper cosas. – IInspectable

3

Es muy desafortunado que la característica de comentarios no sea más inteligente que esto cuando se trata de un bloque que ya contiene algunas líneas comentadas en XML.

Una solución bastante indoloro a este problema puede ser el uso de expresiones regulares:

  • Seleccione el bloque de código XAML que desea comentar.
  • Haga clic en el botón de comentario de la barra de herramientas de Visual Studio
  • Mantener su bloque comentada del texto seleccionado:
    • Abrir el hallazgo/cuadro de diálogo (CTRL + SHIFT + H)
    • reemplazar en las opciones Busca , seleccione la casilla de verificación "Usar expresión normal ".
    • Asegúrese de que el cuadro combinado "Buscar en" esté configurado con "Selección".
    • En el campo "Buscar", introduzca: \<\!\-\-(.*)\-\-\>
    • En el campo "Reemplazar", introduzca: --><!--$1--><!--
    • Haga clic en el "reemplazar todos" botón

Esto envolver cualquier comentado alinee las líneas dentro de su bloque con la etiqueta de comentario de cierre en el comienzo y la etiqueta de comentario de apertura al final, asegurándose de que el bloque de texto que precede a este comentario sea válido y el que lo sigue también.

Para eliminar los comentarios y regresar a su bloque original de XAML, utilice la expresión regular en primer lugar, pero con la lógica inversa:

  • encontrar el campo: \-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
  • Reemplazar campo: <!--$1-->

Luego, manteniendo el bloque de XAML seleccionado, haga clic en el botón Descomentar de Visual Studio.

NOTA: Dependiendo de la versión de Visual Studio que esté utilizando, la sintaxis de la expresión regular puede variar. Estoy usando VS 2012. Las versiones anteriores usarían las llaves '{}' para aislar una expresión y la barra invertida '\' para usarla nuevamente en el campo de reemplazo. Ahora, es el paréntesis '()' y el signo de dólar '$', respectivamente.

0

No hay botón de comentar/descomentar en Expression Blend, si usted quiere tratar de comentar el bloque de código, puede escribir incluyen los siguientes símbolos en el inicio y el final del bloque de código manualmente

<!-- your code comes here.. 
Next Line--> 

Ver una captura de pantalla de ejemplo siguiente

See a sample screenshot below

0

Seleccione el bloque de comentario Hit CNTRL-K, control-c (el mismo acceso directo como en el # lado C por comentar a cabo un bloque de código). El diseñador cambiará sus marcadores de comentarios para comentar todo el bloque.

cntrol-k, cntrol-u (Kode Uncomment) desvinculará las cosas para que vuelva a ser código XAML en vivo. Esto elimina todas las marcas de comentario, por lo que tiene que volver a comentar sus comentarios originales nuevamente.

no es perfecto, pero son atajos fáciles que probablemente ya conozca.

Cuestiones relacionadas