방법: 그래프 문서 편집 및 사용자 지정

Visual Studio Ultimate에서는 노드와 링크를 편집하여 방향이 지정된 그래프 편집의 영역과 주요 관계에 초점을 맞출 수 있습니다. 이 방법은 그래프에 수많은 양의 정보가 표시되는 경우에 특히 유용합니다. 예를 들어 기존 소프트웨어 시스템의 주요 구성 요소와 해당 구성 요소 간의 관계를 확인할 수 있습니다. 그런 다음 해당 초점 영역을 팀 멤버와 공유하여 의견을 나눌 수 있습니다. 코드에서 그래프를 생성하는 방법에 대한 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

원하는 영역을 강조 표시하려면 노드를 선택 및 필터링하고, 노드 및 링크에 미리 정의된 스타일을 적용하고, 노드를 그룹으로 구성합니다. 그래프의 DGML(Directed Graph Markup Language) 파일을 편집하여 그래프를 보다 세부적으로 사용자 지정할 수 있습니다. 예를 들어 파일에서 DGML 요소를 편집하여 사용자 지정 스타일을 지정하거나, 노드와 링크에 속성 및 범주를 할당하거나, 문서, URL 및 다른 .dgml 파일 등의 항목에 노드를 연결할 수 있습니다. DGML 요소에 대한 자세한 내용은 DGML(Directed Graph Markup Language) 이해를 참조하십시오.

참고

.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. 다음 표에 따라 변경할 스타일을 선택합니다.

    변경 대상

    Select

    배경색

    Background

    윤곽선 색

    스트로크

    텍스트 색

    Foreground

    아이콘

    아이콘

  6. 선택 대화 상자에서 다음 중 하나를 선택합니다.

    적용할 내용

    수행할 단계

    색(또는 아이콘) 집합

    색 집합 선택 또는 아이콘 집합 선택 드롭다운 목록을 클릭하고 원하는 색(또는 아이콘) 집합을 클릭합니다.

    기본 색(또는 아이콘)으로 되돌리려면 색 집합 선택 또는 아이콘 집합 선택 드롭다운 목록에서 없음을 클릭합니다.

    특정 색(또는 아이콘)

    범주 또는 속성 값 드롭다운 목록을 클릭하고 색(또는 아이콘)을 선택합니다.

  7. 끝마쳤으면 확인을 클릭합니다.

    참고

    범례 상자의 스타일을 다시 정렬하거나, 삭제하거나, 일시적으로 비활성화할 수 있습니다. 자세한 내용은 범례 상자 수정을 참조하십시오.

특정 범주 또는 속성을 가진 링크에 미리 정의된 색을 적용하려면

  1. 범례 상자가 표시되지 않으면 그래프를 마우스 오른쪽 단추로 클릭하고 범례 표시를 클릭합니다.

  2. 범례 상자에서 원하는 범주 또는 속성이 목록에 나타나는지 확인합니다.

  3. 목록에 원하는 범주 또는 속성이 포함되어 있지 않으면 추가를 클릭하고 링크 범주 또는 링크 속성을 가리킨 다음 해당 범주 또는 속성을 선택합니다.

    참고

    범주를 만들어 링크에 할당하려면 노드 및 링크에 범주 할당을 참조하십시오. 속성을 만들어 링크에 할당하려면 노드 및 링크에 속성 할당을 참조하십시오.

  4. 범례 상자에서 해당 범주 또는 속성 옆의 드롭다운 목록을 클릭합니다.

  5. 다음 표에 따라 변경할 스타일을 선택합니다.

    변경 대상

    Select

    화살표 색

    Background

    윤곽선 색

    스트로크

  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/> 요소에 Expression 특성이 포함된 <Condition/> 요소를 추가하여 부울 값을 반환하는 식을 지정합니다.

    예를 들면 다음과 같습니다.

    <Condition Expression="MyCategory"/>
    

    -또는-

    <Condition Expression="MyCategory > 100"/>
    

    -또는-

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

    이 식에서는 다음과 같은 BNF(Backus-Naur Form) 구문을 사용합니다.

    <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/> 요소를 지정하여 모든 조건을 만족해야만 스타일이 적용되도록 할 수 있습니다.

  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보다 크게 설정되었으면 Coverage 속성 값에 따라 Background 속성을 주황색 음영으로 설정합니다.

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

    • 그룹 노드와 해당 자식 노드 간의 Contains 관계를 지정하는 Category 특성

    예를 들면 다음과 같습니다.

    <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. <Properties> 섹션에 <Property/> 요소를 추가하여 표시 이름 및 데이터 형식 등의 특성을 지정합니다.

    <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. <Properties> 섹션에 <Property/> 요소를 추가하여 표시 이름 및 데이터 형식 등의 특성을 지정합니다.

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

노드 및 링크에 범주 할당

범주를 할당하여 노드를 구성할 수 있습니다. 예를 들어 범주에 따라 노드를 그룹화하거나, 스타일을 변경하거나, 숨길 수 있도록 특정 범주에 있는 노드를 선택할 수 있습니다. 특정 범주의 링크를 강조 표시할 수도 있습니다. 자세한 내용은 다음 단원을 참조하십시오.

  • 노드를 그룹으로 구성

  • 노드 및 링크 스타일 변경

  • 노드 숨기기 또는 표시

노드에 범주를 할당하려면

  • 범주 1과 같은 미리 정의된 범주를 할당하려면 노드를 마우스 오른쪽 단추로 클릭하고 분류를 가리킨 다음 미리 정의된 범주를 클릭합니다.

-또는-

  • 사용자 지정 범주를 만들어 할당하려면 다음을 수행합니다.

    • 분류할 노드를 클릭하고 F4 키를 눌러 속성 창을 연 다음 노드의 새 범주 속성에 범주 이름을 입력하고 Enter 키를 누릅니다.

    -또는-

    1. 노드를 마우스 오른쪽 단추로 클릭한 다음 DGML 보기를 클릭합니다.

      Visual Studio에서 그래프의 .dgml 파일이 열리고 해당 노드의 <Node/> 요소가 강조 표시됩니다.

    2. <Node/> 요소에 Category 특성을 추가하여 범주 이름을 지정합니다. 예를 들면 다음과 같습니다.

      <Nodes>
         <Node Id="MyNode" Category="MyCategory" />
      </Nodes>
      
    3. Label 특성을 사용하여 범주의 표시 텍스트를 지정할 수 있도록 <Categories> 섹션에 <Category/> 요소를 추가합니다.

      <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. Label 특성을 사용하여 범주의 표시 텍스트를 지정할 수 있도록 <Categories> 섹션에 <Category/> 요소를 추가합니다.

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

계층적 범주를 만들면 노드를 구성하고 상속을 통해 자식 범주에 특성을 추가하는 데 유용합니다.

계층적 범주를 만들려면

  • 부모 범주에 대한 <Category/> 요소를 추가한 다음 자식 범주의 <Category/> 요소에 BasedOn 특성을 추가합니다.

    예를 들면 다음과 같습니다.

    <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 특성은 MyParentCategory의 Background 특성을 상속하므로 이 노드의 배경은 녹색입니다.

노드에 항목 연결

그래프의 .dgml 파일을 편집하고 노드의 <Node/> 요소에 Reference 특성을 추가하여 문서 또는 URL 등의 항목을 연결할 수 있습니다. Reference 특성은 해당 내용의 경로를 지정합니다. 이 경로는 .dgml 파일의 위치를 기준으로 하는 상대 경로이거나 절대 경로일 수 있습니다. 그런 다음 그래프의 해당 노드에서 참조 내용을 열고 볼 수 있습니다.

참고

참조되는 항목이 있는 경우에만 해당 항목이 표시됩니다.

예를 들어 다음과 같은 항목을 연결할 수 있습니다.

  • 클래스에 대한 변경 내용을 기술하기 위해 작업 항목, 문서 또는 다른 .dgml 파일의 URL을 클래스의 노드에 연결할 수 있습니다.

  • 소프트웨어의 논리 아키텍처에서 레이어를 나타내는 그룹 노드에 레이어 다이어그램을 연결할 수 있습니다.

  • 인터페이스를 노출하는 구성 요소에 대한 자세한 정보가 표시되도록 해당 인터페이스의 노드에 구성 요소 다이어그램을 연결할 수 있습니다.

  • Team Foundation Server 작업 항목 또는 버그나, 노드와 관련된 다른 정보에 노드를 연결할 수 있습니다.

노드에 항목을 연결하려면

  1. 그래프에서 노드를 마우스 오른쪽 단추로 클릭하고 DGML 보기를 클릭합니다.

    Visual Studio에서 그래프의 .dgml 파일이 열리고 해당 노드의 <Node/> 요소가 강조 표시됩니다.

  2. 다음 표의 작업 중 하나를 수행합니다.

    연결 대상

    수행할 단계

    단일 항목

    • <Node/> 요소에 Reference 특성을 추가하여 항목 위치를 지정합니다.

      참고참고
      Reference 특성은 <Node/> 요소마다 하나씩만 있을 수 있습니다.

    예를 들면 다음과 같습니다.

    <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 특성은 참조 값의 자리 표시자를 지정합니다. 다음 예제에서는 ReferenceTemplate 특성의 {0} 자리 표시자가 <Node/> 요소의 MyFirstReference 및 MySecondReference 특성 값으로 바뀌어 전체 경로를 생성합니다.

    <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 파일의 크기뿐만 아니라 파일을 로드하거나 저장하는 데 필요한 시간을 줄일 수 있습니다. 별칭을 만들려면 .dgml 파일의 끝에 <Paths></Paths> 섹션을 추가합니다. 다음과 같이 이 섹션에서 <Path/> 요소를 추가하여 경로의 별칭을 정의합니다.

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

.dgml 파일의 요소에서 별칭을 참조하려면 다음과 같이 <Path/> 요소의 Id 값을 달러 기호($) 및 괄호(())로 묶습니다.

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

Directed Graph Markup Language 이해

DGML은 간단한 XML을 사용하여 순환 및 비순환 방향이 지정된 그래프를 기술합니다. 방향이 지정된 그래프는 링크 또는 가장자리로 연결되는 노드의 집합입니다. 노드 및 링크를 사용하여 소프트웨어 프로젝트의 요소와 같은 네트워크 구조를 나타낼 수 있습니다. 정보 시각화, 복잡성 분석 등을 수행하려는 경우 또는 방향이 지정된 그래프를 검색하고 편집만 하려는 경우에도 DGML을 사용할 수 있습니다.

노드와 링크를 그래프 요소 또는 요소라고 합니다. 다음 표에서는 DGML에 사용되는 요소의 종류에 대해 설명합니다.

참고

.dgml 파일을 편집하는 경우 IntelliSense를 사용하면 각 요소 및 요소 값에 사용할 수 있는 특성을 식별할 수 있습니다. 특성에 색을 지정하려면 "Blue"와 같은 일반적인 색의 이름 또는 "#ffa0b1c3"과 같은 ARGB 16진수 값을 사용합니다. DGML은 WPF(Windows Presentation Foundation) 색 정의 형식의 일부를 사용합니다. 자세한 내용은 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로 설정하여 노드의 내용을 표시하거나 숨길 수 있습니다. Category="Contains" 특성을 포함하고, 부모 노드와 자식 노드를 각각 소스 노드와 대상 노드로 지정하는 <Link/> 요소가 있어야 합니다. 자세한 내용은 노드를 그룹으로 구성을 참조하십시오.

  • 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 범주는 PassedTest 범주에서 Stroke 특성을 상속합니다. 자세한 내용은 노드 및 링크에 범주 할당에서 "계층적 범주를 만들려면"을 참조하십시오.

또한 범주는 노드 및 링크가 그래프에 표시되는 모양을 제어하는 몇 가지 기본적인 템플릿 동작을 제공합니다. 자세한 내용은 노드 및 링크에 사용자 지정 스타일 적용을 참조하십시오.

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

이 요소는 범주 및 기타 속성을 포함하여 DGML 요소 또는 특성에 값을 할당할 때 사용할 수 있는 Property 특성을 정의합니다.

이 요소에는 다음과 같은 특성이 포함되어야 합니다.

  • 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 코드에 대한 종속성 그래프 생성

기타 리소스

방법: 그래프 문서 찾아보기 및 탐색

방법: 종속성 그래프를 사용하여 코드 탐색