Поделиться через


Практическое руководство. Изменение или настройка документов с графами

Visual Studio Ultimate позволяет сфокусироваться на ключевых отношениях и областях правки направленных графов с помощью правки узлов и связей. Это особенно удобно, если граф содержит большое количество информации. Например, можно идентифицировать основные компоненты и связи между ними в существующей программной системе. Затем можно совместно использовать и обсуждать эти области с членами команды. Сведения о формировании графов из кода, см. в разделе Практическое руководство. Создание графов зависимостей для кода .NET.

Чтобы выделить интересующие области, можно выделить и отфильтровать узлы, применить к узлам предопределенные стили и ссылки, а также сгруппировать узлы. Граф можно настроить и позже, отредактировав DGML-файл. Например, можно отредактировать DGML-элементы в файле, чтобы указать пользовательские стили, присвоить узлам и ссылкам свойства и категории, или связать узлы с элементами, такими как документы, URL-адреса и другие DGML-файлы. Дополнительные сведения о DGML-элементах см. в разделе Основные сведения о языке разметки направленных графов (DGML).

Примечание

Visual Studio очищает любые не используемые DGML элементы и атрибуты, удаляя их при сохранении DGML-файла.Она также автоматически создает узловые элементы при добавлении ссылки вручную. Атрибуты, добавляемые элементу, могут самостоятельно упорядочится в алфавитном порядке при сохранении DGML-файла.

Граф можно править следующими способами:

  • Выбор узлов

  • Скрытие и отображение узлов

  • Отображение и скрытие ссылок

  • Изменение стиля графа

  • Изменение стиля узлов и ссылок

  • Копирование стилей из одного графа в другой

  • Группировка узлов

  • Присвоение свойств узлам и ссылкам

  • Присвоение категорий узлам и ссылкам

  • Связывание элементов с узлами

  • Создание псевдонимов для часто используемых путей

Выбор узлов

Цель

Выполните следующие действия

Выбор узлов из определенных категорий

  1. Щелкните граф правой кнопкой мыши и выберите Показать расширенный выбор.

  2. В поле Выбор в разделе Категории выберите необходимые категории.

Чтобы создать и присвоить пользовательскую категорию, см. раздел Присвоение категорий узлам и ссылкам.

Выбор узлов с особыми свойствами или значениями свойств

  1. Щелкните граф правой кнопкой мыши и выберите Показать расширенный выбор.

  2. В поле Выбор в разделе Свойства выберите необходимые свойства. Разверните свойство, чтобы выбрать значения свойств.

Добавление связанных узлов к выбранным узлам

Щелкните выбранные узлы правой кнопкой мыши, выберите Выбор, затем выберите одно из следующих действий:

  • чтобы добавить узлы, которые непосредственно связываются с выбранным узлом, щелкните Выбрать входящие;

  • щелкните Выбрать исходящие, чтобы добавить узлы из выбранных для непосредственного связывания;

  • щелкните Выбрать оба, чтобы добавить узлы для непосредственного связывания как выбранных узлов, так и добавляемых;

  • чтобы добавить все узлы для непосредственного связывания выбранных узлов и всех добавляемых, щелкните Выбрать все соединенные;

  • чтобы добавить все дочерние элементы выбранного узла, щелкните Выбрать дочерние.

Выбор всех невыбранных узлов

Щелкните выбранные узлы правой кнопкой мыши, укажите Выбор, затем выберите Инвертировать.

Скрытие и отображение узлов

При сокрытии узлов в графе они перестают отображаться в графе и принимать участие в любых алгоритмах создания макета.

Цель

Выполните следующие действия

Скрыть выбранные узлы

  1. Выделите узлы, которые необходимо скрыть.

  2. Щелкните выбранные узлы или граф правой кнопкой мыши, укажите пункт Выбор, и щелкните Скрыть.

Скрыть узлы с определенными категориями или свойствами

  1. Чтобы отобразить поле Выбор, щелкните поверхность графа правой кнопкой мыши, затем нажмите Показать расширенный выбор.

  2. В поле Выбор выберите необходимые категории и свойства.

  3. Щелкните поверхность графа правой кнопкой мыши, укажите пункт Выбор, и щелкните Скрыть.

Скрыть невыбранные узлы

  1. Выделите узлы, которые не подлежат скрытию.

  2. Щелкните выбранные узлы или граф правой кнопкой мыши, укажите пункт Выбор, и щелкните Скрыть невыбранные.

Показать все скрытые узлы

Щелкните граф правой кнопкой мыши, укажите пункт Выбор, и щелкните Показать все.

Сокрытие узлов путем редактирования DGML-файла

  1. Щелкните поверхность графа правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  2. Чтобы скрыть узел, добавьте следующий атрибут в элемент <Node/>.

    Visibility="Hidden"
    

    Пример:

    <Nodes>
       <Node Id="MyNode" Visibility="Hidden"/>
    </Nodes>
    

Отображение или скрытие ссылок

Можно контролировать количество информации в графе, указывая типы ссылок для отображения. Граф показывает два типа ссылок: прямые ссылки между узлами и ссылки между группами, которые скрыты по умолчанию. Ссылки между группами все являются отдельными ссылками, которые содержат узлы между различными группами.

Когда группы свернуты, граф группирует все ссылки между группами в единичные ссылки между группами. Когда группы развернуты, можно выбрать узлы внутри группы, после чего будут отображены новые ссылки между группами и показаны фактические зависимости в группе.

Отображение или скрытие ссылок

  1. Если панель инструментов графа не отображается, в меню Вид выберите Панели инструментов, а затем щелкните Направленный граф.

  2. Выберите задачу из следующей таблицы:

    Целевой тип

    Щелчок

    Одновременное отображение всех ссылок между группами

    Показать все ссылки между группами

    Отображение только тех ссылок между группами, которые связаны с выбранными узлами

    Показать ссылки между группами в выбранных узлах

    Одновременное скрытие всех ссылок между группами

    Скрыть все ссылки между группами

    Скрытие всех ссылок (или отображение всех ссылок)

    Скрыть все ссылки

    Чтобы показать все ссылки, щелкните Скрыть все ссылки повторно, что отключит этот режим.

Изменение стиля графа

Цвет фона и цвет границы графа можно изменить в DGML-файле. Чтобы изменить стиль узла или ссылки, см. раздел Изменение стиля узлов и ссылок.

Изменение стиля графа

  1. Щелкните поверхность графа правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  2. В элементе <DirectedGraph> добавьте следующие атрибуты, чтобы изменить его стиль:

    Чтобы изменить

    Добавьте следующий атрибут

    Цвет фона

    Background="ColorNameOrHexadecimalValue"

    Цвет границы

    Stroke="StrokeValue"

    Пример.

    <DirectedGraph Background="Green" xmlns="https://schemas.microsoft.com/vs/2009/dgml" >
       ...
       ...
    </DirectedGraph>
    

Изменение стиля узлов и ссылок

Можно изменять значки на узлах, цвета узлов и ссылок. Можно воспользоваться предопределенными цветами и значками, либо указать свои, отредактировав DGML-файл графа. Дополнительные сведения см. в разделе Применение пользовательских стилей к узлам и ссылкам.

Например, можно выбрать цвет подсветки узлов и ссылок в соответствии с категорией или свойством. Это позволит идентифицировать и сфокусироваться на определенной области графа.

Применение к узлу с определенной категорией или свойством предопределенного цвета или значка

  1. Если поле Условные обозначения не отображается, щелкните граф правой клавишей мыши и выберите команду Отобразить условные обозначения.

  2. Проверьте, отображаются ли категория и свойство узла в поле Условные обозначения.

  3. Если список не содержит категорию или список, нажмите Добавить, укажите Категория узла или Свойство узла, а затем выберите категорию или свойство.

    Примечание

    Чтобы создать и присвоить узлу категорию, см. раздел Присвоение категорий узлам и ссылкам.Чтобы создать и присвоить узлу свойство, см. раздел Присвоение свойств узлам и ссылкам.

  4. В поле Условные обозначения щелкните раскрывающийся список рядом с категорией или свойством.

  5. Воспользуйтесь следующей таблицей, чтобы выбрать стиль, который нужно изменить:

    Чтобы изменить

    Выберите

    Цвет фона

    Фон

    Цвет контура

    Росчерк

    Цвет текста

    Foreground

    Значок

    Значки

  6. В диалоговом окне выбора выберите один из следующих параметров:

    Применить

    Выполните следующие действия

    Палитра цветов (или значков)

    Щелкните раскрывающийся список Выбор палитры цветов (значков), затем щелкните палитру цветов (или значков).

    Чтобы вернуть цвет (или значок) по умолчанию, в раскрывающемся списке Выбор палитры цветов (значков) щелкните Отсутствует.

    Определенный цвет (или значок)

    Щелкните раскрывающийся список значений категории или свойства, выберите цвет (или значок).

  7. По завершении нажмите кнопку ОК.

    Примечание

    Стили можно изменить, удалить или временно отключить в поле Условные обозначения.Дополнительные сведения см. в разделе Изменение поля "Условные обозначения".

Применение к ссылкам с определенной категорией или свойством предопределенного цвета или значка

  1. Если поле Условные обозначения не отображается, щелкните граф правой клавишей мыши и выберите команду Отобразить условные обозначения.

  2. Проверьте отображаются ли категория или свойство в списке в поле Условные обозначения.

  3. Если список не содержит категорию или свойство, нажмите Добавить, укажите Категория ссылки или Свойство ссылки, а затем выберите категорию или свойство.

    Примечание

    Чтобы создать и присвоить ссылке категорию, см. раздел Присвоение категорий узлам и ссылкам.Чтобы создать и присвоить ссылке свойство, см. раздел Присвоение свойств узлам и ссылкам.

  4. В поле Условные обозначения щелкните раскрывающийся список рядом с категорией или свойством.

  5. Воспользуйтесь следующей таблицей, чтобы выбрать стиль, который нужно изменить:

    Чтобы изменить

    Выберите

    Цвет наконечника стрелки

    Фон

    Цвет контура

    Росчерк

  6. В поле Цветовая палитра выберите один из следующих параметров:

    Применить

    Выполните следующие действия

    Цветовая палитра

    Щелкните раскрывающийся список Выбор палитры цветов, затем щелкните палитру цветов.

    Чтобы вернуть цвет по умолчанию, в раскрывающемся списке Выбор цветовой палитры щелкните Отсутствует.

    Определенный цвет

    Нажмите раскрывающийся список значений свойства для выбора цвета.

  7. По завершении нажмите кнопку ОК.

    Примечание

    Стили можно изменить, удалить или временно отключить в поле Условные обозначения.Дополнительные сведения см. в разделе Изменение поля "Условные обозначения".

Применение пользовательских стилей к узлам и ссылкам

Пользовательские стили можно применять к таким элементам:

  • единичным узлам и ссылкам;

  • группам узлов и ссылок;

  • группам узлов и ссылок на основании определенных условий.

Применение пользовательского стиля к единичному узлу

  1. Щелкните правой кнопкой мыши узел, стиль которого необходимо настроить, затем нажмите Просмотреть DGML.

    Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.

  2. В элементе <Node/> добавьте следующие атрибуты, чтобы настроить его стиль:

    Чтобы изменить

    Добавьте следующий атрибут

    Цвет фона

    Background="ColorNameOrHexadecimalValue"

    Контур

    Stroke="ColorNameOrHexadecimalValue"

    Толщина контура

    StrokeThickness="StrokeValue"

    Цвет текста

    Foreground="ColorNameOrHexadecimalValue"

    Значок

    Icon="IconFilePathLocation"

    Размер текста

    FontSize="FontSizeValue"

    Тип текста

    FontFamily="FontFamilyName"

    Начертание шрифта

    FontWeight="FontWeightValue"

    Стиль текста

    FontStyle="FontStyleName"

    Например, можно назначить Italic в качестве стиля текста.

    Текстура

    Style="Glass"

    — или —

    Style="Plain"

    Фигура

    Shape

    Пример.

    <Nodes>
       <Node Id="MyNode" Background="Green" Stroke="#FF000000"
       Foreground="White" Icon="...\Graph Icons\MyNodeIcon.jpg"/>
    </Nodes>
    

Применение пользовательского стиля к единичной ссылке

  1. На графе наведите указатель мыши на ссылку, чтобы увидеть подсказку и определить исходный и целевой узлы ссылки.

  2. Щелкните граф правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  3. Найдите элемент <Link/>, содержащий имена исходного узла и целевого узла.

  4. В элементе <Link/> добавьте следующие атрибуты, чтобы настроить его стиль:

    Чтобы изменить

    Добавьте следующий атрибут

    Цвет наконечника стрелки

    Background="ColorNameOrHexadecimalValue"

    Цвет контура

    Stroke="ColorNameOrHexadecimalValue"

    Толщина контура

    StrokeThickness="StrokeValue"

    Стиль контура

    StrokeDashArray="StrokeArrayValues"

    Пример.

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" Background="Green" Stroke="#FF000000" />
    </Links>
    

Применение пользовательских стилей к группе узлов или ссылок

  1. Присвойте узлам или ссылкам любые необходимые категории или свойства.

    Дополнительные сведения см. в разделе Присвоение категорий узлам и ссылкам и Присвоение свойств узлам и ссылкам.

  2. Щелкните поверхность графа правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  3. Если элемент <Styles></Styles> не существует, добавьте его под элементом <DirectedGraph></DirectedGraph> за элементом <Links></Links>.

  4. В элементе <Styles></Styles> под элементом <Style/> и укажите следующие атрибуты:

    • TargetType="Node | Link | Graph"

    • GroupLabel="NameInLegendBox"

    • ValueLabel="NameInStylePickerBox"

    Чтобы применить пользовательский стиль ко всем типам целевого объекта не следует использовать это условие.

Применение условного стиля к группам узлов или ссылок

  1. В элементе <Style/> добавьте элемент <Condition/>, который содержит атрибут Expression, чтобы указать выражение, возвращающее логическое значение.

    Пример.

    <Condition Expression="MyCategory"/>
    

    — или —

    <Condition Expression="MyCategory > 100"/>
    

    — или —

    <Condition Expression="HasCategory('MyCategory')"/>
    

    Это выражение использует следующий синтаксис "Формы Бэкуса-Наура" (BNF):

    <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> ::= строковый литерал единичные или двойные кавычки

    <Number> ::= строка цифр с дополнительной десятичной запятой

    Можно указать несколько элементов <Condition/> со значением true, чтобы применить стиль.

  2. В следующей строке, после элемента <Condition/>, добавьте один или несколько элементов <Setter/>, чтобы указать атрибут Property и фиксированный атрибут Value или вычисляемый атрибут Expression, чтобы применить к графу, узлам или ссылкам, отвечающим условию.

    Например

    <Setter Property="BackGround" Value="Green"/>
    

Завершенным, простым примером является следующее условие, которое указывает, что узел отображается зеленым или красным цветом в зависимости от значения его категории Passed True или 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>

В следующей таблице приведены некоторые примеры используемых условий:

Целевой тип

Пример DGML

Задайте размер шрифта в качестве функции количества строк кода, который также изменяет размер узла. В этом примере используется выражение с одним условием для задания нескольких свойств FontSize и FontFamily.

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="https://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
   <Node Id="Class1" LinesOfCode ="200" />
   <Node Id="Class2" LinesOfCode ="1000" />
   <Node Id="Class3" LinesOfCode ="20" />
</Nodes>
<Properties>
   <Property Id="LinesOfCode" Label="LinesOfCode" Description="LinesOfCode" DataType="System.Int32" />
</Properties>
<Styles>
   <Style TargetType="Node" GroupLabel="LinesOfCode" ValueLabel="Function">
      <Condition Expression="LinesOfCode &gt; 0" />
      <Setter Property="FontSize" Expression="Math.Max(9,Math.Sqrt(LinesOfCode))" />
      <Setter Property="FontFamily" Value="Papyrus" />
   </Style>
</Styles>
</DirectedGraph>

Задайте цвет фона узла на основании свойства Coverage. Стили выполняются в порядке их появления, аналогично операторам if-else.

В этом примере:

  1. Если Coverage имеет значение >80, установите для свойства Background зеленый цвет.

  2. Если Coverage имеет значение >50, установите для свойства Background оранжевый оттенок на основании значения свойства Coverage.

  3. В противном случае установите для свойства Background оттенок красного на основании значения свойства Coverage.

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="https://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
   <Node Id="Class1" Coverage="58" />
   <Node Id="Class2" Coverage="95" />
   <Node Id="Class3" Coverage="32" />
</Nodes>
<Properties>
   <Property Id="Coverage" Label="Coverage" Description="Code coverage as a percentage of blocks" DataType="Double" />
</Properties>
<Styles>
   <Style TargetType="Node" GroupLabel="Coverage" ValueLabel="Good">
      <Condition Expression="Coverage &gt; 80" />
      <Setter Property="Background" Value="Green" />
   </Style>
   <Style TargetType="Node" GroupLabel="Coverage" ValueLabel="OK">
      <Condition Expression="Coverage &gt; 50" />
      <Setter Property="Background" Expression="Color.FromRgb(180 * Math.Max(1, (80 - Coverage) / 30), 180, 0)" />
   </Style>
   <Style TargetType="Node" GroupLabel="Coverage" ValueLabel="Bad">
      <Setter Property="Background" Expression="Color.FromRgb(180, 180 * Coverage / 50, 0)" />
   </Style>
</Styles>
</DirectedGraph>

Для свойства Shape установите значение None, чтобы значок изменил фигуру. С помощью свойства Icon можно задать расположение значка.

<DirectedGraph xmlns="https://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
   <Node Id="Automation" Category="Test" Label="Automation" />
   <Node Id="C# Provider" Category="Provider" Label="C# Provider" />
</Nodes>
<Categories>
   <Category Id="Provider" Icon="..\Icons\AddIn.png" Shape="None" />
   <Category Id="Test" Icon="..\Icons\Macro.png" Shape="None" />
</Categories>
<Properties>
   <Property Id="Icon" DataType="System.String" />
   <Property Id="Label" Label="Label" Description="Displayable label of an Annotatable object" DataType="System.String" />
   <Property Id="Shape" DataType="System.String" />
</Properties>
<Styles>
   <Style TargetType="Node" GroupLabel="Group" ValueLabel="Has category">
      <Condition Expression="HasCategory('Group')" />
      <Setter Property="Background" Value="#80008080" />
   </Style>
   <Style TargetType="Node">
      <Setter Property="HorizontalAlignment" Value="Center" />
   </Style>
</Styles>
</DirectedGraph>

Изменение поля "Условные обозначения"

Стили можно изменить, удалить или временно отключить в поле Условные обозначения:

  1. Щелкните стиль правой кнопкой мыши в поле Условные обозначения.

  2. Выполните одну из следующих задач:

    Чтобы получить следующий результат

    Щелкните

    Перемещение стиля вверх

    Вверх

    Перемещение элемента вниз

    Вниз

    Удаление элемента

    Удалить

    Отключить элемент

    Отключить

    Повторно включить элемент

    Включить

Копирование стилей из одного графа в другой

  • Щелкните пустую область исходного графа правой кнопкой мыши, щелкните Копировать условные обозначения, затем вставьте стиль в целевой граф.

Группировка узлов

Целевой тип

Выполните следующие действия

Отображение узлов с отношениями содержания в качестве групп или ссылок

Чтобы показать ссылки в качестве групп, выберите узлы контейнера, щелкните выбор правой кнопкой мыши, укажите Группа, затем нажмите Показать как группу.

Чтобы показать группы в качестве ссылок, выберите узлы контейнера, щелкните выбор правой кнопкой мыши, укажите Группа, затем нажмите Показать как ссылку.

Чтобы показать все группы в качестве ссылок, щелкните граф правой кнопкой мыши, укажите Группа, затем нажмите Показать все как ссылки.

Чтобы показать все ссылки в качестве групп, щелкните граф правой кнопкой мыши, укажите Группа, затем нажмите Показать все как группы.

Добавление новой группы вокруг выбранных узлов

  1. Щелкните выделение правой кнопкой мыши, укажите Группа, затем выберите Добавить родительскую группу.

  2. Щелкните новую группу правой кнопкой мыши и выберите Свойства.

  3. В свойстве Метка переименуйте группу.

Добавление новой группы вокруг узлов с определенной категорией и свойствами

  1. Чтобы отобразить поле Выбор, щелкните поверхность графа правой кнопкой мыши, затем нажмите Показать расширенный выбор.

  2. В поле Выбор выберите необходимые категории и свойства.

  3. Щелкните поверхность графа правой кнопкой мыши, укажите Группа, затем выберите Добавить родительскую группу.

  4. Щелкните новую группу правой кнопкой мыши и выберите Свойства.

  5. В свойстве Метка переименуйте группу.

Группирование узлов в соответствии с их контейнерами

  1. В меню Архитектура последовательно выберите пункты Окна и Обозреватель архитектуры.

  2. Использование "Обозревателя архитектуры" для нахождения и выбора всех узлов, которые необходимо сгруппировать.

    Дополнительные сведения см. в разделе Практическое руководство. Поиск кода с помощью обозревателя архитектуры.

  3. Для отображения свернутого столбца действий с правой стороны от текущего столбца, щелкните на нем.

    ПримечаниеПримечание
    При наведении указателя мыши на столбец действий этот столбец выделяется.
  4. В столбце действий щелкните Содержащийся в.

  5. Из следующего столбца перетяните группы контейнера в граф.

  6. Щелкните поверхность графа правой кнопкой мыши, укажите Группа, затем выберите Показать все как группы.

Группирование узлов в соответствии со значениями свойств

  1. Сохраните граф на диске как DGML-файл.

  2. В меню Архитектура последовательно выберите пункты Окна и Обозреватель архитектуры.

  3. В Обозревателе архитектуры, в разделе Файловая система выберите команду Выбор файлов.

  4. В следующем столбце щелкните сохраненный DGML-файл

  5. Использование "Обозревателя архитектуры" для нахождения и выбора всех узлов, которые необходимо сгруппировать.

    Дополнительные сведения см. в разделе Практическое руководство. Поиск кода с помощью обозревателя архитектуры.

  6. Для отображения свернутого столбца действий с правой стороны от текущего столбца, щелкните на нем.

    ПримечаниеПримечание
    При наведении указателя мыши на столбец действий этот столбец выделяется.
  7. В столбце действий в пункте Группирование щелкните Группировать по свойствам.

  8. В следующем столбце выберите свойства, которое необходимо использовать в виде групп.

    Отобразится следующий столбец с доступными значениями свойства.

  9. Из следующего столбца перетяните группы значений свойства в граф.

  10. Щелкните поверхность графа правой кнопкой мыши, укажите Группа, затем выберите Показать все как группы.

Удаление групп

Выберите группу или группы, которые нужно удалить, щелкните выделение правой кнопкой мыши, укажите Группа, затем нажмите Удалить группу.

Перемещение узлов из родительских групп в прародительскую или вне группы, если прародительская группа не существует

Выберите узлы, которые нужно переместить, щелкните выделение правой кнопкой мыши, укажите Группа, затем нажмите Удалить из родительской группы.

Группировать узлы также можно посредством редактирования DGML-файла.

Использование существующего узла как группы, или добавление новой группы

  1. Чтобы воспользоваться существующим узлом как группой, щелкните нужный узел правой кнопкой мыши, затем нажмите Просмотреть DGML.

    Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.

    – или –

    1. Чтобы добавить новую группу, щелкните правой кнопкой мыши пустую область графа и выберите Просмотреть DGML.

    2. В разделе <Nodes> добавьте новый элемент <Node/>.

  2. В элементе <Node/> добавьте атрибут Group, чтобы указать разворачивать группу при отображении или нет. Например

    <Nodes>
       <Node Id="MyFirstGroup" Group="Expanded" />
       <Node Id="MySecondGroup" Group="Collapsed" />
    </Nodes>
    
  3. В разделе <Links> убедитесь, что элемент <Link/> со следующими атрибутами существует для каждой связи между узлом группы и дочерними узлами:

    • Атрибут Source, который определяет узел группы.

    • Атрибут Target, который определяет дочерний узел.

    • Атрибут Category, который определяет связь Contains между узлом группы и его дочерним узлом

    Например

    <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>
    

    Дополнительные сведения об атрибуте Category см. в разделе Присвоение категорий узлам и ссылкам.

Присвоение свойств узлам и ссылкам

Организовать узлы и ссылки можно присвоив им свойства. Например, можно выбрать узлы с особыми свойствами для их группирования, изменения стиля или скрытия.

Присвоение узлу свойства

  1. Щелкните узел правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.

  2. В элементе <Node/> укажите имя свойства и его значение. Например

    <Nodes>
       <Node Id="MyNode" MyPropertyName="PropertyValue" />
    </Nodes>
    
  3. Добавьте элемент <Property/> в раздел <Properties>, чтобы указать атрибуты, такие как видимое имя и тип данных:

    <Properties>
       <Property Id="MyPropertyName" Label="My Property" DataType="System.DataType"/>
    </Properties>
    

Присвоение свойства ссылке

  1. На графе наведите указатель мыши на ссылку, чтобы увидеть подсказку и определить исходный и целевой узлы ссылки.

  2. Щелкните граф правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  3. Найдите элемент <Link/>, содержащий имена исходного и целевого узла.

  4. В элементе <Node/> укажите имя свойства и его значение. Например

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" MyPropertyName="PropertyValue" />
    </Links>
    
  5. Добавьте элемент <Property/> в раздел <Properties>, чтобы указать атрибуты, такие как видимое имя и тип данных:

    <Properties>
       <Property Id="MyPropertyName" Label="My Property Name" DataType="System.DataType"/>
    </Properties>
    

Присвоение категорий узлам и ссылкам

Организовать узлы можно присвоив им категории. Например, можно выбрать узлы из определенных категорий для их группирования, изменения стиля или скрытия. Можно выделить ссылки с определенными категориями. Дополнительные сведения см. в следующих подразделах:

  • Группировка узлов

  • Изменение стиля узлов и ссылок

  • Скрытие и отображение узлов

Присвоение узлу категории

  • Чтобы присвоить предопределенную категорию, например Category 1, щелкните узел правой кнопкой мыши, укажите Распределять по категориям, затем выберите предопределенную категорию.

— или —

  • Создание и присвоение пользовательской категории:

    • Выберите узел, которому следует присвоить категорию, нажмите клавишу F4, чтобы открыть окно Свойства, введите имя категории в свойстве узла Новая категория, затем нажмите клавишу ВВОД.

    — или —

    1. Щелкните узел правой кнопкой мыши и выберите Просмотр DGML.

      Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.

    2. В элементе <Node/> добавьте атрибут Category, чтобы указать имя категории. Например

      <Nodes>
         <Node Id="MyNode" Category="MyCategory" />
      </Nodes>
      
    3. Добавьте элемент <Category/> в раздел <Categories>, чтобы можно было воспользоваться атрибутом Label для определения отображения текста для категории:

      <Categories>
         <Category Id="MyCategory" Label="My Category" />
      </Categories>
      

Присвоение категории ссылке

  1. На графе наведите указатель мыши на ссылку, чтобы увидеть подсказку и определить исходный и целевой узлы ссылки.

  2. Щелкните граф правой кнопкой мыши и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа.

  3. Найдите элемент <Link/>, содержащий имена исходного и целевого узла.

  4. В элементе <Link/> добавьте атрибут Category, чтобы указать имя категории. Например

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory"
    </Links>
    
  5. Добавьте элемент <Category/> в раздел <Categories>, чтобы можно было воспользоваться атрибутом Label для определения отображения текста для категории:

    <Categories>
       <Category Id="MyCategory" Label="My Category" />
    </Categories>
    

Можно создать иерархические категории, чтобы облегчить организацию узлов и добавить атрибуты к дочерним категориям с помощью интерфейса.

Создание иерархических категорий

  • Добавьте элемент <Category/> для родительской категории, затем добавьте атрибут BasedOn к элементу дочерней категории <Category/>.

    Пример.

    <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>
    

    В этом примере фон MyFirstNode зеленый, так как его атрибут Category наследует атрибут Background MyParentCategory.

Связывание элементов с узлами

Элементы, такие как документы или URL-адреса, можно связывать с узлом посредством редактирования DGML-файла графа и добавления атрибута Reference в элемент <Node/> этого узла. Атрибут Reference задает путь к данному содержимому. Этот путь может относится к расположению DGML-файла или к абсолютному пути. Затем из этого узла в графе можно открыть и просмотреть содержимое.

Примечание

Чтобы просмотреть элемент, на который указывает ссылка, он должен существовать.

Например, можно попробовать связать следующие элементы:

  • Для описания изменения класса можно связать URL-адрес рабочего элемента, документа или другого DGML-файла с узлом класса.

  • Схему слоев можно связать с узлом группы, который представляет слой в логической архитектуре программного обеспечения.

  • Схему компонентов можно связать с узлом интерфейса, чтобы показать больше сведений о компоненте, представляемом этим интерфейсом.

  • Свяжите узел с рабочим элементом Team Foundation Server, ошибкой или другой информацией, касающейся узла.

Связывание элемента с узлом

  1. На графе щелкните правой кнопкой мыши узел и выберите Просмотр DGML.

    Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.

  2. Выполните одну из задач, представленных в следующей таблице:

    Чтобы связать

    Выполните следующие действия

    Один элемент

    • В элементе <Node/> добавьте атрибут Reference, чтобы указать расположение элемента.

      ПримечаниеПримечание
      У элемента <Node/> может быть только один атрибут Reference.

    Пример.

    <Nodes>
       <Node Id="MyNode" Reference="MyDocument.txt" />
    </Nodes>
    <Properties>
       <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
    </Properties>

    Несколько элементов

    1. В элементе <Node/> добавьте новый атрибут, чтобы задать расположение каждой ссылки.

    2. В разделе <Properties>:

      1. Добавьте элемент <Property/> для каждого нового типа ссылки.

      2. Присвойте атрибуту Id имя нового атрибута ссылки.

      3. Добавьте атрибут IsReference и установите его в значение True, чтобы отобразить ссылку в контекстном меню узла Перейти.

      4. Воспользуйтесь атрибутом Label, чтобы указать текст, отображаемый в контекстном меню узла Перейти.

    Пример.

    <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>

    В графе имя узла отображается подчеркнутым.

  3. Воспользуйтесь атрибутом ReferenceTemplate, чтобы указать общую строку, такую как URL-адрес, используемую несколькими ссылками, вместо повторения этой строки в ссылке.

    Атрибут ReferenceTemplate указывает заполнитель для значения ссылки. В следующем примере заполнитель {0} в атрибуте ReferenceTemplate будет заменен значениями атрибутов MyFirstReference и MySecondReference в элементе <Node/> для выполнения полного пути:

    <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>
    
  4. Выполните одну из следующих задач, чтобы просмотреть элемент, на который указывает ссылка:

    Чтобы просмотреть

    Выполните следующие действия

    Один элемент

    Дважды щелкните узел.

    — или —

    Щелкните узел правой кнопкой мыши, выберите Перейти, затем щелкните элемент.

    Несколько элементов

    Щелкните узел правой кнопкой мыши, выберите Перейти, затем щелкните элемент.

Создание псевдонимов для часто используемых путей

Замена часто используемых путей псевдонимами уменьшает размер DGML-файла и время, требуемое на загрузку или сохранение файла. Для создания псевдонима добавьте раздел <Paths></Paths> в конце DGML-файла. В этом разделе добавьте элемент <Path/> для того, чтобы определить псевдоним для пути.

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Чтобы сослаться на псевдоним из элемента DGML-файла, следует окружить значение Id элемента <Path/> знаком доллара ($) и круглыми скобками (()).

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Основные сведения о языке разметки направленных графов (DGML)

DGML использует простой XML-код для описания циклического и ациклического направленного графа. Направленный граф представляет собой набор узлов, соединенных ссылками или границами. Узлы и ссылки могут быть использованы для представления сетевых структур, например элементов программного проекта. Можно использовать DGML для визуализации информации, выполнения анализа сложности или просто для просмотра и редактирования графа.

Узлы и ссылки называются элементами графа или просто элементами. В следующей таблице описаны виды элементов, используемых в языке DGML.

Примечание

При редактировании DGML-файла IntelliSense показывает атрибуты, доступные для данного элемента, и их значения.Задавая цвет с помощью атрибута, можно использовать имена для обычных цветов, например "Blue", или шестнадцатеричные значения ARGB, например "#ffa0b1c3".DGML использует небольшое подмножество форматов определения цветов Windows Presentation Foundation (WPF).Дополнительные сведения см. в разделе Colors — класс.

Элемент

Пример формата

<DirectedGraph></DirectedGraph>

Это корневой элемент документ направленного графа (DGML). Все остальные DGML-элементы отображаются внутри области этого элемента.

Следующий список описывает необязательные атрибуты, которые могут быть включены в элемент.

  • Background — цвет фона графа.

  • BackgroundImage — местоположение файла изображение, используемого в качестве фона графа.

  • ButterflyMode — если значение атрибута равно True, то показываются только те связанные узлы, пути которых совпадают с путями выбранных узлов. Если не выбран ни один узел, граф выберет основной концентратор.

    ПримечаниеПримечание
    Циклические ссылки в этом режиме не отображаются.Вместо этого, узлы, задействованные в циклических связях, копируются для отображения на обоих сторонах выбранных узлов.Зависимости, находящиеся более чем на один уровень дальше от выбранного узла, не обязательно будут отображаться в порядке, потому что слой графа основан на самом коротком пути от выбранного узла.

    Дополнительные сведения см. в разделе Практическое руководство. Обзор документов с графами и навигация по этим документам.

  • GraphDirection — если для графа выбрана древовидная структура (Sugiyama), организует большинство ссылок в заданном направлении: TopToBottom, BottomToTop, LeftToRight или RightToLeft. Дополнительные сведения см. в разделе Практическое руководство. Обзор документов с графами и навигация по этим документам.

  • Layout — организует граф в одну из следующих структур: None, Sugiyama (древовидная структура), ForceDirected (быстрые кластеры) или DependencyMatrix. Дополнительные сведения см. в разделе Практическое руководство. Обзор документов с графами и навигация по этим документам.

  • NeighborhoodDistance — если граф организован в виде древовидной структуры или быстрых кластеров, показывает только узлы, удаленные от выбранных узлов не более, чем на указанное количество ссылок (1-7). Дополнительные сведения см. в разделе Практическое руководство. Обзор документов с графами и навигация по этим документам.

  • Title — имя графа.

  • ZoomLevel — уровень изначального масштабирования графа. Задает значение с плавающей запятой от 1 до 100%, или значение Fit, при котором граф масштабируется таким образом, чтобы целиком помещаться в окно.

<?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>

Необязательный элемент содержит список элементов <Node/>, задающих узлы графа. Дополнительные сведения см. в описании элемента <Node/>.

ПримечаниеПримечание
Если сослаться в элементе <Link/> на несуществующий элемент графа, граф создаст элемент <Node/> автоматически.
<?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/>

Этот элемент определяет единичный узел. Он отображается внутри списка элементов <Nodes><Nodes/>.

Этот элемент в обязательном порядке включает следующие атрибуты.

  • Id — уникальное имя узла; одновременно является значением по умолчанию атрибута Label, если атрибут Label не определен отдельно. Это имя должно совпадать с атрибутом Source или Target ссылки, которая ссылается на данный элемент.

Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.

  • Label — отображаемое имя узла.

  • Атрибуты стилей. Дополнительные сведения см. в разделе Применение пользовательских стилей к узлам и ссылкам.

  • Category — имя категории, которая указывает на элементы, имеющие одинаковое значение этого атрибута. Дополнительные сведения см. в описании элемента <Category/>.

  • Property — имя свойства, указывающего на элементы, которые имеют одинаковое значение этого свойства. Дополнительные сведения см. в описании элемента <Property/>.

  • Group — если узел содержит другие узлы, следует присвоить этому атрибуту значение Expanded или Collapsed, чтобы его содержимое отображалось или скрывалось. Обязателен элемент <Link/>, включающий атрибут Category="Contains" и задающий родительский узел как исходный узел и дочерние узлы как целевые. Дополнительные сведения см. в разделе Организация узлов в группы.

  • Visibility — следует задать этому атрибуту значение Visible, Hidden или Collapsed. Используются сочетания клавиш System.Windows.Visibility. Дополнительные сведения см. в разделе Скрытие и отображение узлов.

  • Reference — задайте этот атрибут для связывания с документом или URL-адресом. Дополнительные сведения см. в разделе Связывание элементов с узлами.

<?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" ategory="Automobile" />
   </Nodes>
   <Links>
      <Link ... />
   </Links>
   <Categories>
      <Category Id="Person" Background="Orange" />
      <Category Id="Automobile" Background="Yellow"/>
   </Categories>
</DirectedGraph>

<Links></Links>

Этот элемент содержит список элементов <Link>, задающих ссылки между узлами. Дополнительные сведения см. в описании элемента <Link/>.

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml">
   <Links>
      <Link ... />
   </Links>
</DirectedGraph>

<Link/>

Этот элемент определяет единичную ссылку, соединяющую исходный узел с целевым узлом. Он отображается внутри списка элементов <Links></Links>.

ПримечаниеПримечание
Если данный элемент ссылается на неопределенный узел, документ графа автоматически создаст узел с заданными атрибутами, если таковые имеются.

Этот элемент в обязательном порядке включает следующие атрибуты.

  • Source — исходный узел ссылки.

  • Target — целевой узел ссылки.

Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.

  • Label — отображаемое имя ссылки.

  • Атрибуты стилей. Дополнительные сведения см. в разделе Применение пользовательских стилей к узлам и ссылкам.

  • Category — имя категории, которая указывает на элементы, имеющие одинаковое значение этого атрибута. Дополнительные сведения см. в описании элемента <Category/>.

  • Property — имя свойства, указывающего на элементы, которые имеют одинаковое значение этого свойства. Дополнительные сведения см. в описании элемента <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>

Этот элемент содержит список элементов <Category/>. Дополнительные сведения см. в описании элемента <Category/>.

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml">
   <Categories>
       <Category ... />
   </Categories>
</DirectedGraph>

<Category/>

Этот элемент определяет атрибут Category, который используется для указания на элементы, имеющие одинаковые значения этого атрибута. Атрибут Category может быть использован для организации элементов графа, предоставления общих атрибутов через наследование или для определения дополнительных метаданных.

Этот элемент в обязательном порядке включает следующие атрибуты.

  • Id — уникальное имя категории; одновременно является значением по умолчанию атрибута Label, если атрибут Label не определен отдельно.

Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.

  • Label — удобное для чтения имя категории.

  • BasedOn — родительская категория, от которой унаследован данный элемент <Category/>.

    В примере категория FailedTest унаследовала атрибут Stroke от категории PassedTest. Дополнительные сведения см. в подразделе "Создание иерархических категорий" раздела Назначение категорий узлам и ссылкам.

Категории также предоставляют базовый шаблон поведения, который определяет отображение узлов и ссылок в графе. Дополнительные сведения см. в разделе Применение пользовательских стилей к узлам и ссылкам.

<?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>

Этот элемент содержит список элементов <Property/>. Дополнительные сведения см. в описании элемента <Property/>.

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml">
   <Properties>
       <Property ... />
   </Properties>
</DirectedGraph>

<Property/>

Этот элемент определяет атрибут Property, который можно использовать для присваивания значения любому элементу или атрибуту DGML, включая категории и другие свойства.

Этот элемент в обязательном порядке включает следующие атрибуты.

  • Id — уникальное имя свойства; одновременно является значением по умолчанию атрибута Label, если атрибут Label не определен отдельно.

  • DataType — тип данных, хранящихся в свойстве.

Если необходимо, чтобы свойство отображалось в окне Свойства, задайте для свойства отображаемое имя с помощью атрибута Label.

Дополнительные сведения см. в разделе Назначение свойств узлам и ссылкам.

<?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>

См. также

Основные понятия

Практическое руководство. Создание графов зависимостей для кода .NET

Другие ресурсы

Практическое руководство. Обзор документов с графами и навигация по этим документам

Практическое руководство. Изучение кода с помощью графов зависимостей