Editar y personalizar gráficos de dependencias
Puede editar gráficos de dependencias sin que esto afecte al código subyacente. Esto resulta útil cuando desea centrarse en elementos clave o comunicar ideas sobre el código. Por ejemplo, para resaltar áreas interesantes, puede seleccionar nodos y filtrarlos, cambiar el estilo de los nodos y vínculos, ocultar o eliminar nodos y organizar los nodos mediante propiedades, categorías o grupos.
Puede personalizar aún más un gráfico editando el archivo Directed Graph Markup Language (.dgml) del gráfico. Por ejemplo, puede editar los elementos para especificar estilos personalizados, asignar propiedades y categorías a nodos y vínculos, o vincular nodos a elementos, como documentos, direcciones URL y otros gráficos.
Nota
Visual Studio limpia los atributos y elementos de DGML que no se usan, eliminándolos cuando se guarda el archivo .dgml.También crea automáticamente elementos de nodo cuando se agregan nuevos vínculos manualmente.Al guardar el archivo .dgml, los atributos que agregara a un elemento se podrían reorganizar en orden alfabético.Para obtener más información sobre los elementos de DGML, vea Introducción a Directed Graph Markup Language (DGML).
Requisitos
Visual Studio Ultimate, Visual Studio Premium o Visual Studio Professional
Para crear gráficos de dependencias, debe tener Visual Studio Ultimate. Vea Asignar dependencias en el código mediante gráficos de dependencias.
En este tema
Seleccionar nodos o vínculos
Cambiar el nombre de nodos o vínculos
Ocultar o mostrar nodos y vínculos
Agregar nodos y vínculos
Agregar comentarios al gráfico
Eliminar nodos
Agrupar nodos
Combinar gráficos
Cambiar el estilo del gráfico
Cambiar el estilo de nodo o vínculo
Copiar estilos de un gráfico a otro
Asignar propiedades a nodos y vínculos
Asignar categorías a nodos y vínculos
Vincular elementos a nodos o vínculos
Crear alias para rutas de acceso usadas con frecuencia
Seleccionar nodos o vínculos
Para |
Siga estos pasos |
---|---|
Seleccionar todos los nodos no seleccionados |
Abra el menú contextual de los nodos seleccionados. Elija Seleccionar, Invertir selección. |
Seleccione nodos adicionales vinculados a los seleccionados. |
Abra el menú contextual de los nodos seleccionados. Elija Seleccionar junto con una de las siguientes opciones:
|
Cambiar el nombre de nodos o vínculos
Seleccione el nodo o el vínculo. Presione F2. Cuando aparezca el cuadro de edición, cambie el nombre del nodo o vínculo.
Si la etiqueta está visible, selecciónela.
Ocultar o mostrar nodos y vínculos
Al ocultar nodos, se evita que participen en algoritmos de diseño. De forma predeterminada, los vínculos entre grupos se ocultan. Los vínculos entre grupos son vínculos individuales que conectan nodos entre diferentes grupos. Cuando se contraen los grupos, el gráfico agrega todos los vínculos entre grupos a los vínculos individuales que hay entre los grupos. Cuando se expande un grupo y se seleccionan los nodos que hay dentro de este, los vínculos entre grupos aparecen y muestran las dependencias que existen dentro de ese grupo.
Advertencia
Antes de compartir un gráfico creado en Visual Studio Ultimate con los usuarios de Visual Studio Premium o Visual Studio Professional, asegúrese de mostrar cualquier nodo o vínculo entre grupos que desee que otros vean.De lo contrario, esos usuarios no podrán mostrar esos elementos.
Para ocultar o mostrar nodos
Para |
Siga estos pasos |
---|---|
Ocultar los nodos seleccionados |
|
Ocultar nodos no seleccionados |
|
Mostrar los nodos ocultos |
|
Ocultar nodos editando el archivo .dgml |
|
Para mostrar u ocultar vínculos
Para |
En la barra de herramientas del gráfico, abra la lista Cambiar el modo en que se presentan los vínculos en el gráfico o abra el menú contextual del gráfico. Elija: |
---|---|
Mostrar los vínculos entre grupos en todo momento |
Mostrar todos los vínculos entre grupos De este modo, se ocultan los vínculos agregados entre grupos. |
Mostrar solo los vínculos entre grupos de los nodos seleccionados |
Mostrar los vínculos entre grupos de los nodos seleccionados |
Ocultar los vínculos entre grupos en todo momento |
Ocultar vínculos entre grupos |
Ocultar todos los vínculos (o mostrar todos los vínculos) |
Ocultar todos los vínculos Para mostrar todos los vínculos, elija de nuevo Ocultar todos los vínculos para desactivar este modo. |
Agregar nodos y vínculos
Para agregar un nuevo nodo sin definir |
Siga estos pasos |
---|---|
En la ubicación actual del puntero |
Seleccione un lugar del gráfico donde colocar el nuevo nodo. Presione Insertar. |
Que se vincula al nodo seleccionado |
|
Que se vincula a un nodo existente con el foco actual |
Presione Tab hasta que el nodo al que desea vincular tenga el foco. Presione Alt+Mayús+Insertar. |
Para agregar nodos para |
Siga estos pasos |
---|---|
Elementos de la solución |
|
Elementos relacionados con nodos del gráfico |
Abra el menú contextual del nodo. Elija Mostrar junto con la clase de relación que le interesa. Para un ensamblado, elija:
Para una clase, elija:
Para un método, elija:
Para un campo, elija:
|
Ensamblados .NET (.dll o .exe) o archivos binarios compilados |
Use el Explorador de arquitectura para buscar y arrastrar elementos y relaciones al gráfico. |
Para agregar un vínculo entre nodos existentes
Seleccione el nodo de origen.
Aparece una barra de herramientas encima del nodo.
En la barra de herramientas, elija Crear un nuevo vínculo desde este nodo a cualquier otro donde se haga clic a continuación . Seleccione el nodo de destino.
Aparece un vínculo entre los dos nodos.
Agregar comentarios al gráfico
Seleccione el nodo donde desea agregar un comentario vinculado.
Aparece una barra de herramientas encima del nodo.
En la barra de herramientas, elija Crear un nuevo nodo de comentarios con un nuevo vínculo al nodo seleccionado .
Escriba sus comentarios. Para escribir en una nueva línea, presione MAYÚS+Intro.
Eliminar nodos
Puede eliminar los nodos de un gráfico sin que esto afecte al código subyacente. Para eliminar un nodo, seleccione el nodo y después presione la tecla Eliminar. Al eliminar nodos, sus definiciones se quitan del archivo DGML (.dgml).
Cuando se eliminan nodos de un grupo, el botón Volver a obtener elementos secundarios aparece dentro del grupo. Para recuperar nodos que faltan, elija Volver a obtener elementos secundarios . Los gráficos que se crean editando el DGML, agregando nodos sin definir o usando versiones anteriores de Visual Studio Ultimate, no admiten esta funcionalidad.
Advertencia
Antes de compartir un gráfico creado mediante Visual Studio Ultimate con usuarios de Visual Studio Premium o Visual Studio Professional, asegúrese de que los nodos que desea que otros vean estén visibles en el gráfico.De lo contrario, dichos usuarios no podrán recuperar los nodos eliminados.
Agrupar nodos
Para |
Siga estos pasos |
---|---|
Mostrar los nodos contenedores como nodos de grupo o nodos de hoja |
Para mostrar los nodos contenedores como nodos de hoja, seleccione los nodos. Abra el menú contextual de la selección. Elija Grupo, Convertir en hoja. Para mostrar los nodos contenedores como nodos de grupo, seleccione los nodos. Abra el menú contextual de la selección. Elija Grupo, Convertir en grupo. Para mostrar todos los nodos de hoja como nodos de grupo, abra el menú contextual del gráfico. Elija Grupo, Activar agrupación. Para mostrar todos los nodos de grupo como nodos de hoja, abra el menú contextual del gráfico. Elija Grupo, Desactivar agrupación. |
Agregar un nodo a un grupo |
Arrastre el nodo al grupo. También puede arrastrar nodos fuera de un grupo. |
Agregar un nodo a un nodo sin grupo |
Puede convertir cualquier nodo en un grupo. Arrastre el nodo hasta el nodo de destino. |
Agrupar nodos seleccionados |
|
Agrupar nodos que tengan categorías o propiedades concretas |
|
Agrupar nodos con arreglo a sus valores de propiedad |
|
Quitar grupos |
Seleccione el grupo o los grupos que desee quitar. Abra el menú contextual de la selección. Elija Grupo, Quitar grupo. |
Quitar nodos desde el grupo primario hasta el grupo primario principal o fuera del grupo si no hay ningún grupo primario principal |
Seleccione los nodos que desea mover. Abra el menú contextual de la selección. Elija Grupo, Quitar del elemento primario. |
Para agrupar nodos editando el archivo .dgml del gráfico
Para convertir un nodo en un grupo, abra el menú contextual del nodo. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico y resalta el elemento <Node/> de ese nodo.
O bien
Para agregar un nuevo grupo:
Abra el menú contextual de un área en blanco del gráfico. Elija Ir a, DGML.
En la sección <Node/>, agregue un nuevo elemento <Nodes>.
En el elemento <Node/>, agregue un atributo Group para especificar si el grupo aparece contraído o expandido. Por ejemplo:
<Nodes> <Node Id="MyFirstGroup" Group="Expanded" /> <Node Id="MySecondGroup" Group="Collapsed" /> </Nodes>
En la sección <Links>, asegúrese de que existe un elemento <Link/> con los atributos siguientes para cada relación entre un nodo de grupo y sus nodos secundarios:
Un atributo Source que especifica el nodo de grupo
Un atributo Target que especifica el nodo secundario
Un atributo Category que especifica una relación Contains entre el nodo de grupo y su nodo secundario
Por ejemplo:
<Links> <Link Category="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildOne" /> <Link Category ="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildTwo" /> <Link Category ="Contains" Source="MySecondNewGroup" Target="SecondGroupChildOne" /> <Link Category="Contains" Source="MySecondNewGroup" Target="SecondGroupChildTwo" /> </Links>
Para obtener más información sobre el atributo Category, vea Asignar categorías a nodos y vínculos.
Combinar gráficos
Puede combinar gráficos copiando y pegando nodos entre los gráficos. Si los identificadores de nodo coinciden, el pegado de nodos funciona como una operación de combinación. Para facilitar esta tarea, coloque todos los ensamblados o elementos binarios que desea visualizar en la misma carpeta, de modo que la ruta de acceso completa de cada ensamblado o binario sea la misma para cada gráfico que desea combinar.
También puede crear un único gráfico para los ensamblados o elementos binarios que desea visualizar siguiendo uno de estos pasos:
Arrastre los ensamblados o binarios al mismo gráfico.
O bien
Abra el Explorador de arquitectura. En Sistema de archivos, elija Seleccionar archivos para examinar, seleccionar y abrir los ensamblados o binarios. Para redefinir el gráfico, seleccione elementos concretos que desee visualizar. Cuando haya terminado, elija Crear un nuevo documento de gráfico a partir de todos los nodos seleccionados en la barra de herramientas del Explorador de arquitectura.
Cambiar el estilo del gráfico
Puede cambiar el color de fondo y el color del borde del gráfico editando el archivo .dgml del gráfico. Para cambiar el estilo de los nodos y los vínculos, vea Cambiar el estilo de los nodos y vínculos.
Abra el menú contextual de la superficie del gráfico. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico.
En el elemento <DirectedGraph>, agregue cualquiera de los siguientes atributos para cambiar el estilo:
Para cambiar el
Agregue el atributo siguiente
Color de fondo
Background="ColorNameOrHexadecimalValue"
Color del borde
Stroke="StrokeValue"
Por ejemplo:
<DirectedGraph Background="Green" xmlns="https://schemas.microsoft.com/vs/2009/dgml" > ... ... </DirectedGraph>
Cambiar el estilo de los nodos y vínculos
Puede cambiar los iconos de los nodos y los colores de los nodos y los vínculos. Puede usar colores e iconos predefinidos o especificar unos personalizados editando el archivo .dgml del gráfico. Consulte Aplicar estilos personalizados a nodos y vínculos.
Por ejemplo, puede elegir un color para resaltar los nodos y los vínculos que tengan cierta categoría o propiedad. De este modo, podrá identificar áreas específicas del gráfico y concentrarse en ellas.
Para aplicar un color o icono predefinido a los nodos cierta categoría o propiedad
Si el cuadro Leyenda no está visible, abra el menú contextual del gráfico. Elija Mostrar leyenda.
En el cuadro Leyenda, vea si la categoría o propiedad del nodo aparece en la lista.
Si la lista no incluye la categoría o propiedad, elija + en el cuadro Leyenda, Categoría de nodo o Propiedad de nodo y la categoría o propiedad.
Ahora, la categoría o propiedad aparece en el cuadro Leyenda.
Nota
Para crear y asignar una categoría a un nodo, vea Asignar categorías a nodos y vínculos.Crear y asignar una propiedad a un nodo, vea Asignar propiedades a nodos y vínculos.
En el cuadro Leyenda, abra la lista desplegable situada junto a la categoría o propiedad.
Use la tabla siguiente para seleccionar el estilo que desea cambiar:
Para cambiar el
Choose
Color de fondo
Fondo
Color del contorno
Trazo
Color del texto
Foreground
Icono
Iconos
El cuadro Selector de conjunto de colores aparece para que seleccione un color (o icono).
En el cuadro de diálogo Selector de conjunto de colores, realice una de las siguientes acciones:
Para aplicar a
Siga estos pasos
Conjunto de colores (o iconos)
Abra la lista Seleccionar conjunto de colores (o Seleccionar conjunto de iconos). Seleccione un conjunto de colores (o de iconos).
Para revertir al color (o icono) predeterminado, en la lista Seleccionar conjunto de colores (iconos), elija Ninguno.
Color (o icono) específico
Abra la lista de valores de la categoría o propiedad. Seleccione un color (o icono).
Nota
Puede reorganizar, eliminar o desactivar temporalmente los estilos en el cuadro Leyenda.Consulte Modificar el cuadro Leyenda.
Para aplicar un color predefinido a los vínculos con una determinada categoría o propiedad
Si el cuadro Leyenda no está visible, abra el menú contextual del gráfico. Elija Mostrar leyenda.
En el cuadro Leyenda, observe si la categoría o propiedad aparece en la lista.
Si la lista no incluye la categoría o propiedad, elija + en el cuadro Leyenda, Categoría de vínculo o Propiedad de vínculo y la categoría o propiedad.
Ahora, la categoría o propiedad aparece en el cuadro Leyenda.
Nota
Para crear y asignar una categoría a un vínculo, vea Asignar categorías a nodos y vínculos.Para crear y asignar una propiedad a un vínculo, vea Asignar propiedades a nodos y vínculos.
En el cuadro Leyenda, abra la lista situada junto a la categoría o propiedad.
Seleccione Trazo para cambiar el color de la punta de flecha y el esquema del vínculo.
El cuadro Selector de conjunto de colores aparece para que seleccione un color.
En el cuadro Selector de conjunto de colores, realice una de las acciones siguientes:
Para aplicar a
Siga estos pasos
Conjunto de colores
Abra la lista Seleccionar conjunto de colores. Seleccione un conjunto de colores.
Para revertir al color predeterminado, en la lista Seleccionar conjunto de colores, elija Ninguno.
Color específico
Abra la lista de valores del tipo o propiedad para seleccionar un color.
Nota
Puede reorganizar, eliminar o desactivar temporalmente los estilos en el cuadro Leyenda.Consulte Modificar el cuadro Leyenda.
Aplicar estilos personalizados a nodos y vínculos
Puede aplicar estilos personalizados a los siguientes elementos:
Nodos y vínculos únicos
Grupos de nodos y vínculos
Grupos de nodos y vínculos de acuerdo con ciertas condiciones
Para aplicar un estilo personalizado a un único nodo
Abra el menú contextual del nodo cuyo estilo desea personalizar. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico y resalta el elemento <Node/> de ese nodo.
En el elemento <Node/>, agregue cualquiera de los siguientes atributos para personalizar el estilo:
Para cambiar el
Agregue el atributo siguiente
Color de fondo
Background="ColorNameOrHexadecimalValue"
Contorno
Stroke="ColorNameOrHexadecimalValue"
Grosor del contorno
StrokeThickness="StrokeValue"
Color del texto
Foreground="ColorNameOrHexadecimalValue"
Icono
Icon="IconFilePathLocation"
Tamaño del texto
FontSize="FontSizeValue"
Tipo de texto
FontFamily="FontFamilyName"
Grosor del texto
FontWeight="FontWeightValue"
Estilo del texto
FontStyle="FontStyleName"
Por ejemplo, puede especificar Italic como estilo de texto.
Textura
Style="Glass"
-O bien-
Style="Plain"
Forma
Para reemplazar la forma por un icono, establezca la propiedad Shape en None y establezca la propiedad Icon en la ruta de acceso con el archivo de icono.
Shape="ShapeFilePathLocation"
Por ejemplo:
<Nodes> <Node Id="MyNode" Background="#FF008000" Stroke="#FF000000" Foreground="#FFFFFFFF" Icon="...\Icons\Globe.png"/> </Nodes>
Para aplicar un estilo personalizado a un único vínculo
En el gráfico, mueva el puntero del mouse sobre el vínculo. Aparece información sobre herramientas e identifica el nodo de origen y el nodo de destino del vínculo. (Teclado: presione Tab hasta que el foco esté en el vínculo).
Abra el menú contextual del gráfico. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico.
Busque el elemento <Link/> que contiene el nombre del nodo de origen y el nombre del nodo de destino.
En el elemento <Link/>, agregue cualquiera de los siguientes atributos para personalizar el estilo:
Para cambiar el
Agregue el atributo siguiente
Color de la punta de flecha y el esquema
Stroke="ColorNameOrHexadecimalValue"
Grosor del contorno
StrokeThickness="StrokeValue"
Estilo del contorno
StrokeDashArray="StrokeArrayValues"
Por ejemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Background="Green" Stroke="#FF000000" StrokeDashArray="2,2"/> </Links>
Para aplicar estilos personalizados a un grupo de nodos o vínculos
Asigne cualquier categoría o propiedad que desee a los nodos o vínculos.
Sugerencia
Si tiene estilos que se repiten en varios nodos o vínculos, podría considerar aplicar una categoría a dichos nodos o vínculos y después aplicar un estilo a esa categoría.Para obtener más información, vea Asignar categorías a nodos y vínculos y Asignar propiedades a nodos y vínculos.
Abra el menú contextual de la superficie del gráfico. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico.
Si no existe ningún elemento <Styles></Styles>, agregue uno bajo el elemento <DirectedGraph></DirectedGraph>, detrás del elemento <Links></Links>.
En el elemento <Styles></Styles>, bajo el elemento <Style/>, especifique los atributos siguientes:
TargetType="Node | Link | Graph"
GroupLabel="NameInLegendBox"
ValueLabel="NameInStylePickerBox"
Para aplicar un estilo personalizado a todos los tipos de destino, no use ninguna condición.
Para aplicar un estilo condicional a los grupos de nodos o vínculos
En el elemento <Style/>, agregue un elemento <Condition/> que contenga un atributo Expression para especificar una expresión que devuelva un valor booleano.
Por ejemplo:
<Condition Expression="MyCategory"/>
– O bien –
<Condition Expression="MyCategory > 100"/>
O bien
<Condition Expression="HasCategory('MyCategory')"/>
Esta expresión usa la sintaxis de la forma de Backus-Naur (BNF) siguiente:
<Expression> ::= <BinaryExpression> | <UnaryExpression> | "("<Expression>")" | <MemberBindings> | <Literal> | <Number>
<BinaryExpression> ::= <Expression> <Operator> <Expression>
<UnaryExpression> ::= "!" <Expression> | "+" <Expression> | "-" <Expression>
<Operator> ::= "<" | "<=" | "=" | ">=" | ">" | "!=" | "or" | "and" | "+" | "*" | "/" | "-"
<MemberBindings> ::= <MemberBindings> | <MemberBinding> "." <MemberBinding>
<MemberBinding> ::= <MethodCall> | <PropertyGet>
<MethodCall> ::= <Identifier> "(" <MethodArgs> ")"
<PropertyGet> ::= Identifier
<MethodArgs> ::= <Expression> | <Expression> "," <MethodArgs> | <empty>
<Identifier> ::= [^. ]*
<Literal> ::= literal de cadena entre comillas simples o dobles
<Number> ::= cadena de dígitos con separador decimal opcional
Puede especificar varios elementos <Condition/> que deben ser True para aplicar el estilo.
En la línea que sigue al elemento <Condition/>, agregue uno o varios elementos <Setter/> para especificar un atributo Property y un atributo Value fijo o un atributo Expression calculado para aplicarlo al gráfico, los nodos o los vínculos que satisfacen la condición.
Por ejemplo:
<Setter Property="BackGround" Value="Green"/>
En este sencillo ejemplo completo que se muestra a continuación, la condición especifica que un nodo debe aparecer en verde o en rojo en función de si su categoría Passed está establecida en True o False:
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="https://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="MyFirstNode" Passed="True" />
<Node Id="MySecondNode" Passed="False" />
</Nodes>
<Links>
</Links>
<Styles>
<Style TargetType="Node" GroupLabel="Passed" ValueLabel="True">
<Condition Expression="Passed='True'"/>
<Setter Property="Background" Value="Green"/>
</Style>
<Style TargetType="Node" GroupLabel="Passed" ValueLabel="False">
<Condition Expression="Passed='False'"/>
<Setter Property="Background" Value="Red"/>
</Style>
</Styles>
</DirectedGraph>
En la tabla siguiente se incluyen algunas condiciones de ejemplo que puede usar:
Modificar el cuadro Leyenda
Puede reorganizar, eliminar o desactivar temporalmente los estilos en el cuadro Leyenda:
Abra el menú contextual de un estilo en el cuadro Leyenda.
Realice una de las tareas siguientes:
Para
Choose
Subir el estilo
Subir
Bajar el elemento
Bajar
Eliminar el elemento
Eliminar
Desactivar el elemento
Deshabilitar
Reactivar el elemento
Habilitar
Copiar estilos de un gráfico a otro
Asegúrese de que el cuadro Leyenda aparece en el gráfico de origen. Si no está visible, abra el menú contextual de un área en blanco del gráfico de origen. Elija Mostrar leyenda.
Abra el menú contextual del cuadro Leyenda. Elija Copiar leyenda.
Pegue la leyenda en el gráfico de destino.
Asignar propiedades a nodos y vínculos
Puede organizar los nodos y vínculos asignándoles propiedades. Por ejemplo, puede seleccionar nodos que tengan propiedades concretas para que pueda agruparlos, cambiar su estilo u ocultarlos.
Para asignar una propiedad a un nodo
Abra el menú contextual del nodo. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico y resalta el elemento <Node/> de ese nodo.
En el elemento <Node/>, especifique el nombre de la propiedad y su valor. Por ejemplo:
<Nodes> <Node Id="MyNode" MyPropertyName="PropertyValue" /> </Nodes>
Agregue un elemento <Property/> a la sección <Properties> para especificar atributos, como el nombre visible y el tipo de datos:
<Properties> <Property Id="MyPropertyName" Label="My Property" DataType="System.DataType"/> </Properties>
Para asignar una propiedad a un vínculo
En el gráfico, mueva el puntero del mouse sobre el vínculo. Aparece información sobre herramientas e identifica el nodo de origen y el nodo de destino del vínculo. (Teclado: presione Tab hasta que el foco esté en el vínculo).
Abra el menú contextual del gráfico. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico.
Busque el elemento <Link/> que contiene el nombre del nodo de origen y el nombre del nodo de destino.
En el elemento <Node/>, especifique el nombre de la propiedad y su valor. Por ejemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" MyPropertyName="PropertyValue" /> </Links>
Agregue un elemento <Property/> a la sección <Properties> para especificar atributos, como el nombre visible y el tipo de datos:
<Properties> <Property Id="MyPropertyName" Label="My Property Name" DataType="System.DataType"/> </Properties>
Asignar categorías a nodos y vínculos
Puede organizar los nodos asignándoles categorías. Por ejemplo, puede seleccionar nodos que pertenezcan a determinadas categorías para que pueda agruparlos, cambiar su estilo u ocultarlos. Puede resaltar los vínculos que tengan ciertas categorías. Para obtener más información, vea las secciones siguientes:
Agrupar nodos
Cambiar el estilo de los nodos y vínculos
Ocultar o mostrar nodos
Para asignar una categoría a un nodo
- Para asignar una categoría predefinida, como Category1, abra el menú contextual del nodo. Elija Clasificar y una categoría predefinida.
-O bien-
Para crear y asignar una categoría personalizada:
- Elija el nodo que desea categorizar. Presione F4 para abrir la ventana Propiedades. Escriba el nombre de la categoría en la propiedad Nueva categoría del nodo. Presione ENTRAR.
-O bien-
Abra el menú contextual del nodo. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico y resalta el elemento <Node/> de ese nodo.
En el elemento <Node/>, agregue un atributo Category para especificar el nombre de la categoría. Por ejemplo:
<Nodes> <Node Id="MyNode" Category="MyCategory" /> </Nodes>
Agregue un elemento <Category/> a la sección <Categories> de modo que pueda usar el atributo Label con el fin de especificar el texto visualizado de esa categoría:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
Para asignar una categoría a un vínculo
En el gráfico, mueva el puntero del mouse sobre el vínculo para mostrar la información sobre herramientas e identificar el nodo de origen y el nodo de destino del vínculo. (Teclado: presione Tab hasta que el foco esté en el vínculo).
Abra el menú contextual del gráfico. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico.
Busque el elemento <Link/> que contiene el nombre del nodo de origen y el nombre del nodo de destino.
En el elemento <Link/>, agregue un atributo Category para especificar el nombre de la categoría. Por ejemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory" </Links>
Agregue un elemento <Category/> a la sección <Categories> de modo que pueda usar el atributo Label con el fin de especificar el texto visualizado de esa categoría:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
Puede crear categorías jerárquicas que le ayuden a organizar los nodos y a agregar atributos a categorías secundarias usando la relación de herencia.
Para crear categorías jerárquicas
Agregue un elemento <Category/> de la categoría primaria y, a continuación, agregue el atributo BasedOn al elemento <Category/> de la categoría secundaria.
Por ejemplo:
<Nodes> <Node Id="MyFirstNode" Label="My First Node" Category= "MyCategory" /> <Node Id="MySecondNode" Label="My Second Node" /> </Nodes> <Links> <Link Source="MyFirstNode" Target="MySecondNode" /> </Links> <Categories> <Category Id="MyCategory" Label="My Category" BasedOn="MyParentCategory"/> <Category Id="MyParentCategory" Label="My Parent Category" Background="Green"/> </Categories>
En este ejemplo, el fondo de MyFirstNode es verde porque su atributo Category hereda el atributo Background de MyParentCategory.
Vincular elementos a nodos o vínculos
Puede vincular elementos, como documentos o direcciones URL, a un nodo o a un vínculo editando el archivo .dgml del gráfico y agregando un atributo Reference al elemento <Node/> de un nodo o el elemento <Link/> de un vínculo. Después, puede abrir y ver ese contenido en el nodo o vínculo. El atributo Reference especifica la ruta de acceso del contenido. Puede tratarse de una ruta de acceso absoluta o de una ruta de acceso relativa a la ubicación del archivo .dgml.
Advertencia
Si usa rutas de acceso relativas y el archivo .dgml se mueve a otra ubicación, esas rutas ya no se resolverán.Al intentar abrir y ver el contenido vinculado, se producirá un error que indica que el contenido no se puede ver.
Por ejemplo, quizá desee vincular los elementos siguientes:
Para describir los cambios de una clase, puede vincular la dirección URL de un elemento de trabajo, documento u otro archivo .dgml al nodo de una clase.
Podría vincular un diagrama de capas a un nodo de grupos que representa una capa en la arquitectura lógica del software.
Para mostrar más información sobre un componente que expone una interfaz, puede vincular un diagrama de componentes al nodo de esa interfaz.
Vincule un nodo a un error o elemento de trabajo de Team Foundation Server o a cualquier otra información relacionada con el nodo.
Para vincular un elemento a un nodo
En el gráfico, abra el menú contextual del nodo. Elija Ir a, DGML.
Visual Studio abre el archivo .dgml del gráfico y resalta el elemento <Node/> de ese nodo.
Realice una de las tareas de la tabla siguiente:
Para vincular
Siga estos pasos
Un elemento único
En el elemento <Node/> o <Link/>, agregue un atributo Reference para especificar la ubicación del elemento.
Nota
Solo puede tener un atributo Reference por cada elemento.
Por ejemplo:
<Nodes> <Node Id="MyNode" Reference="MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Varios elementos
En el elemento <Node/> o <Link/>, agregue un nuevo atributo para especificar la ubicación de cada referencia.
En la sección <Properties>:
Agregue un elemento <Property/> para cada nuevo tipo de referencia.
Establezca al atributo Id en el nombre del nuevo atributo de referencia.
Agregue el atributo IsReference y establézcalo en True para hacer que la referencia aparezca en el menú contextual Ir a del elemento.
Use el atributo Label para especificar el texto para mostrar del menú contextual Ir a del elemento.
Por ejemplo:
<Nodes> <Node Id="MyNode" SequenceDiagram="MySequenceDiagram.sequencediagram" ActiveBugs="MyActiveBugs.wiq"/> </Nodes> <Properties> <Property Id="SequenceDiagram" Label="My Sequence Diagram" DataType="System.String" IsReference="True" /> <Property Id="ActiveBugs" Label="Active Bugs" DataType="System.String" IsReference="True" /> </Properties>
Use el atributo ReferenceTemplate para especificar una cadena común, como una dirección URL, que se use en varias referencias en lugar de repetir esa cadena en la referencia.
El atributo ReferenceTemplate especifica un marcador de posición para el valor de la referencia. En el ejemplo siguiente, el marcador de posición {0} del atributo ReferenceTemplate se reemplazará por los valores de los atributos MyFirstReference y MySecondReference del elemento <Node/> para generar una ruta de acceso completa:
<Nodes> <Node Id="MyNode" MyFirstReference="MyFirstDocument" MySecondReference="MySecondDocument"/> <Node Id="MySecondNode" MyFirstReference="AnotherFirstDocument" MySecondReference="AnotherSecondDocument"/> </Nodes> <Properties> <Property Id="MyFirstReference" Label="My First Document" DataType="System.String" IsReference="True" ReferenceTemplate="http://www.Fabrikam.com/FirstDocuments/{0}.asp"/> <Property Id="MySecondReference" Label="My Second Document" DataType="System.String" IsReference="True" ReferenceTemplate=" http://www.Fabrikam.com/SecondDocuments/{0}.asp"/> </Properties>
Para ver el elemento o elementos a los que se hace referencia desde el gráfico, abra el menú contextual del nodo o vínculo. Elija Ir a y, a continuación, el elemento.
Crear alias para rutas de acceso usadas con frecuencia
El reemplazo de rutas de acceso usadas con frecuencia con alias ayuda a reducir el tamaño del archivo .dgml y el tiempo necesario para cargar o guardar el archivo. Para crear un alias, agregue una sección <Paths></Paths> al final del archivo .dgml. En esta sección, agregue un elemento <Path/> para definir un alias para la ruta de acceso:
<Paths> <Path Id="MyPathAlias" Value="C:\...\..." /> </Paths>
Para hacer referencia al alias desde un elemento del archivo .dgml, rodee el valor Id del elemento <Path/> con un signo de dólar ($) y paréntesis (()):
<Nodes> <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Introducción a Directed Graph Markup Language (DGML)
DGML usa XML simple para describir los gráficos dirigidos cíclicos y acíclicos. Un gráfico dirigido es un conjunto de nodos que están conectados mediante vínculos, o bordes. Se pueden usar nodos y vínculos para representar estructuras de red, como elementos en un proyecto de software. Use DGML para visualizar información, realizar análisis de complejidad o simplemente examinar y editar gráficos dirigidos.
Los nodos y vínculos se llaman elementos de gráfico o solo elementos. En la tabla siguiente se describen los tipos de elementos que se emplean en DML:
Nota
Al editar un archivo .dgml, IntelliSense le ayuda a identificar los atributos disponibles para cada elemento y sus valores.Para especificar color en un atributo, use nombres para los colores comunes, como "Blue", o valores hexadecimales de ARGB, como "#ffa0b1c3".DGML emplea un pequeño subconjunto de los formatos de definición de color de Windows Presentation Foundation (WPF).Para obtener más información, vea el tema sobre la clase Colors.
Elemento
Formato de ejemplo
<DirectedGraph></DirectedGraph>
Este elemento es el elemento raíz de un documento de gráfico dirigido (.dgml). Todos los demás elementos de DGML aparecen dentro del ámbito de este elemento.
En la lista siguiente se describen atributos opcionales que puede incluir:
Background: color del fondo del gráfico
BackgroundImage: ubicación de un archivo de imagen que se va a usar como fondo del gráfico.
GraphDirection: cuando el gráfico está establecido en el diseño de árbol (Sugiyama), organiza los nodos para que la mayoría de los vínculos fluyan en la dirección especificada: TopToBottom, BottomToTop, LeftToRight o RightToLeft. Vea Examinar y reorganizar gráficos de dependencias.
Layout: establece el gráfico en los diseños siguientes: None, Sugiyama (diseño de árbol), ForceDirected (clústeres rápidos) o DependencyMatrix. Vea Examinar y reorganizar gráficos de dependencias.
NeighborhoodDistance: cuando el gráfico está establecido en el diseño de árbol o de clústeres rápidos, solo muestra aquellos nodos que están a un número especificado (1-7) de vínculos de los nodos seleccionados. Vea Examinar y reorganizar gráficos de dependencias.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" Background="Blue" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> ... </Nodes> <Links> ... </Links> <Categories> ... </Categories> <Properties> ... </Properties> </DirectedGraph>
<Nodes></Nodes>
Este elemento opcional contiene una lista de elementos <Node/>, que definen nodos del gráfico. Para obtener más información, vea el elemento <Node/>.
Nota
Al hacer referencia a un nodo no definido en un elemento <Link/>, el gráfico crea un elemento <Node/> automáticamente.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node ... /> </Nodes> <Links> <Link ... /> </Links> </DirectedGraph>
<Node/>
Este elemento define un único nodo. Aparece dentro de la lista de elementos <Nodes><Nodes/>.
Este elemento debe incluir los atributos siguientes:
Id: nombre único del nodo y el valor predeterminado del atributo Label, si no se especifica ningún atributo Label independiente. Este nombre debe coincidir con el atributo Source o Target del vínculo que hace referencia a él.
En la lista siguiente se describen algunos atributos opcionales que puede incluir:
Label: nombre para mostrar del nodo.
Atributos de estilo. Consulte Aplicar estilos personalizados a nodos y vínculos.
Category: nombre de una categoría que identifica elementos que comparten este atributo. Para obtener más información, vea el elemento <Category/>.
Property: nombre de una propiedad que identifica elementos que tienen el mismo valor de propiedad. Para obtener más información, vea el elemento <Property/>.
Group: si el nodo contiene otros nodos, establezca este atributo en Expanded o Collapsed para mostrar u ocultar su contenido. Debe haber un elemento <Link/> que incluya el atributo Category="Contains" y especifique el nodo primario como nodo de origen y el nodo secundario como nodo de destino. Consulte Organizar nodos en grupos.
Visibility: establezca este atributo en Visible, Hidden o Collapsed. Utilice System.Windows.Visibility. Consulte Ocultar o mostrar nodos.
Reference: establezca este atributo para vincular un documento o una dirección URL. Consulte Vincular elementos a nodos.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Student" Category="Person" /> <Node Id="Passenger" Label="Instructor" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> </Nodes> <Links> <Link ... /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> </Categories> </DirectedGraph>
<Links></Links>
Este elemento contiene la lista de elementos <Link>, que definen vínculos entre nodos. Para obtener más información, vea el elemento <Link/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Links> <Link ... /> </Links> </DirectedGraph>
<Link/>
Este elemento define un único vínculo que conecta un nodo de origen con un nodo de destino. Aparece dentro de la lista de elementos <Links></Links>.
Nota
Si este elemento hace referencia a un nodo no definido, el documento de gráfico crea automáticamente un nodo que tiene los atributos especificados, si existe.
Este elemento debe incluir los atributos siguientes:
Source: nodo de origen del vínculo.
Target: nodo de destino del vínculo.
En la lista siguiente se describen algunos atributos opcionales que puede incluir:
Label: nombre para mostrar del vínculo.
Atributos de estilo. Consulte Aplicar estilos personalizados a nodos y vínculos.
Category: nombre de una categoría que identifica elementos que comparten este atributo. Para obtener más información, vea el elemento <Category/>.
Property: nombre de una propiedad que identifica elementos que tienen el mismo valor de propiedad. Para obtener más información, vea el elemento <Property/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Student" Category="Person" /> <Node Id="Passenger" Label="Instructor" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> </Nodes> <Links> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Link Source="Driver" Target="Car" Label="Passed" Stroke="Black" Background="Green" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Stroke="Black" Background="Red" Category="PassedTest" /> </Links> </DirectedGraph>
<Categories></Categories>
Este elemento contiene la lista de elementos <Category/>. Para obtener más información, vea el elemento <Category/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Categories> <Category ... /> </Categories> </DirectedGraph>
<Category/>
Este elemento define un atributo Category, que se emplea para identificar elementos que comparten este atributo. Se puede usar un atributo Category para organizar elementos de gráfico, proporcionar atributos compartidos a través de la herencia o definir metadatos adicionales.
Este elemento debe incluir los atributos siguientes:
Id: nombre único de la categoría y el valor predeterminado del atributo Label, si no se especifica ningún atributo Label independiente.
En la lista siguiente se describen algunos atributos opcionales que puede incluir:
Label: nombre de fácil lectura para la categoría.
BasedOn: categoría principal de la que se hereda el atributo <Category/> del elemento actual.
En el ejemplo de este elemento, la categoría FailedTest hereda su atributo Stroke de la categoría PassedTest. Consulte "Para crear categorías jerárquicas" en Asignar categorías a nodos y vínculos.
Las categorías también proporcionan cierto comportamiento de plantilla básico que controla la apariencia de los nodos y vínculos cuando se muestran en un gráfico. Consulte Aplicar estilos personalizados a nodos y vínculos.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Driver" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> <Node Id="Passenger" Category="Person" /> </Nodes> <Links> <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" /> <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" /> </Categories> </DirectedGraph>
<Properties></Properties>
Este elemento contiene la lista de elementos <Property/>. Para obtener más información, vea el elemento <Property/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Properties> <Property ... /> </Properties> </DirectedGraph>
<Property/>
Este elemento define un atributo Property que puede usar para asignar un valor a cualquier elemento de DGML o atributo, incluyendo categorías y otras propiedades.
Este elemento debe incluir los atributos siguientes:
Id: nombre único de la propiedad y el valor predeterminado del atributo Label, si no se especifica ningún atributo Label independiente.
DataType: tipo de datos almacenados por la propiedad.
Si desea que la propiedad aparezca en la ventana Propiedades, use la propiedad Label para especificar el nombre para mostrar de la propiedad.
Consulte Asignar propiedades a nodos y vínculos.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Driver" Category="Person" DrivingAge="18"/> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> <Node Id="Passenger" Category="Person" /> </Nodes> <Links> <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" /> <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" /> </Categories> <Properties> <Property Id="DrivingAge" Label="Driving Age" DataType="System.Int32" /> </Properties> </DirectedGraph>
Vea también
Conceptos
Asignar dependencias en el código mediante gráficos de dependencias