Freigeben über


Gewusst wie: Bearbeiten und Anpassen von Diagrammdokumenten

In Visual Studio Ultimate können Sie sich beim Bearbeiten eines gerichteten Diagramms auf die Hauptbeziehungen und -bereiche konzentrieren, indem Sie die Knoten und Links bearbeiten. Dies ist besonders nützlich, wenn im Diagramm große Datenmengen dargestellt werden. So können Sie beispielsweise Hauptkomponenten in einem vorhandenen Softwaresystem sowie deren gegenseitige Beziehungen ermitteln. Anschließend können Sie diese Fokusbereiche gemeinsam mit den Mitgliedern Ihres Teams nutzen und besprechen. Informationen zum Generieren von Diagrammen auf Basis von Code finden Sie unter Gewusst wie: Generieren von Abhängigkeitsdiagrammen für .NET-Code.

Zum Hervorheben interessanter Bereiche können Sie Knoten auswählen und filtern, vordefinierte Stile auf Knoten und Links anwenden sowie Knoten in Gruppen organisieren. Durch Bearbeiten der DGML-Datei (Directed Graph Markup Language) des Diagramms kann das Diagramm weiter angepasst werden. Sie können beispielsweise die DGML-Elemente in der Datei bearbeiten, um benutzerdefinierte Stile anzugeben, Eigenschaften und Kategorien zu Knoten und Links zuzuweisen oder Knoten mit Elementen wie z. B. Dokumenten, URLs und anderen DGML-Dateien zu verknüpfen. Weitere Informationen zu DGML-Elementen finden Sie unter Grundlegendes zur Directed Graph Markup Language (DGML).

Tipp

Beim Speichern der DGML-Datei werden von Visual Studio alle nicht verwendeten DGML-Elemente und -Attribute gelöscht. Es werden auch automatisch Knotenelemente erstellt, wenn Sie neue Links manuell hinzufügen. Wenn Sie die DGML-Datei speichern, werden möglicherweise alle Attribute, die Sie einem Element hinzugefügt haben, in alphabetischer Reihenfolge neu angeordnet.

Ein Diagramm kann auf folgende Arten bearbeitet werden:

  • Auswählen von Knoten

  • Aus- oder Einblenden von Knoten

  • Ein- oder Ausblenden von Links

  • Ändern des Diagrammstils

  • Ändern des Stils von Knoten und Links

  • Kopieren von Stilen aus einem Diagramm in ein anderes Diagramm

  • Organisieren von Knoten in Gruppen

  • Zuweisen von Eigenschaften zu Knoten und Links

  • Zuweisen von Kategorien zu Knoten und Links

  • Verknüpfen von Elementen mit Knoten

  • Erstellen von Aliasen für häufig verwendete Pfade

Auswählen von Knoten

Zweck

Auszuführende Schritte

Auswählen von Knoten in bestimmten Kategorien

  1. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf Erweiterte Auswahl anzeigen.

  2. Klicken Sie unter Kategorien im Feld Auswahl auf die gewünschten Kategorien.

Informationen zum Erstellen und Zuweisen einer benutzerdefinierten Kategorie finden Sie unter Zuweisen von Kategorien zu Knoten und Links.

Auswählen von Knoten mit bestimmten Eigenschaften oder Eigenschaftswerten

  1. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf Erweiterte Auswahl anzeigen.

  2. Klicken Sie unter Eigenschaften im Feld Auswahl auf die gewünschten Eigenschaften. Erweitern Sie die Eigenschaft, wenn Sie bestimmte Eigenschaftswerte auswählen möchten.

Hinzufügen von verwandten Knoten zu ausgewählten Knoten

Klicken Sie mit der rechten Maustaste auf die ausgewählten Knoten, zeigen Sie auf Auswahl, und wählen Sie anschließend eine der folgenden Optionen aus:

  • Klicken Sie auf Eingehende auswählen, um Knoten mit einem direkten, zum ausgewählten Knoten führenden Link hinzuzufügen.

  • Klicken Sie auf Ausgehende auswählen, um Knoten mit einem direkten, vom ausgewählten Knoten ausgehenden Link hinzuzufügen.

  • Klicken Sie auf Beide auswählen, um Knoten mit einem direkten, zum ausgewählten Knoten führenden Link und Knoten mit einem direkten, vom ausgewählten Knoten ausgehenden Link hinzuzufügen.

  • Klicken Sie auf Alle verbundenen Knoten auswählen, um alle Knoten mit Links hinzuzufügen, die zum ausgewählten Knoten führen oder vom ausgewählten Knoten ausgehen.

  • Klicken Sie auf Untergeordnete Elemente auswählen, um alle untergeordneten Elemente des ausgewählten Knotens hinzuzufügen.

Auswählen aller nicht ausgewählten Knoten

Klicken Sie mit der rechten Maustaste auf die ausgewählten Knoten, zeigen Sie auf Auswahl, und klicken Sie anschließend auf Umkehren.

Aus- oder Einblenden von Knoten

Wenn Sie Knoten im Diagramm ausblenden, werden sie nicht mehr im Diagramm angezeigt, und ihre Beteiligung an Layoutalgorithmen wird aufgehoben.

Zweck

Auszuführende Schritte

Ausblenden ausgewählter Knoten

  1. Wählen Sie die auszublendenden Knoten aus.

  2. Klicken Sie mit der rechten Maustaste auf die ausgewählten Knoten oder auf das Diagramm, zeigen Sie auf Auswahl, und klicken Sie anschließend auf Ausblenden.

Ausblenden von Knoten mit bestimmten Kategorien oder Eigenschaften

  1. Klicken Sie zum Anzeigen des Felds Auswahl mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie anschließend auf Erweiterte Auswahl anzeigen.

  2. Klicken Sie im Feld Auswahl auf die gewünschten Kategorien oder Eigenschaften.

  3. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, zeigen Sie auf Auswahl, und klicken Sie anschließend auf Ausblenden.

Ausblenden nicht ausgewählter Knoten

  1. Wählen Sie die Knoten aus, die Sie nicht ausblenden möchten.

  2. Klicken Sie mit der rechten Maustaste auf die ausgewählten Knoten oder auf das Diagramm, zeigen Sie auf Auswahl, und klicken Sie anschließend auf Nicht markierte ausblenden.

Anzeigen aller ausgeblendeten Knoten

Klicken Sie mit der rechten Maustaste auf das Diagramm, zeigen Sie auf Auswahl, und klicken Sie anschließend auf Alle einblenden.

So blenden Sie Knoten durch Bearbeiten der DGML-Datei aus

  1. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  2. Fügen Sie im <Node/>-Element das folgende Attribut hinzu, um den Knoten auszublenden:

    Visibility="Hidden"
    

    Beispiel:

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

Sie können die Menge an Details in einem Diagramm steuern, indem Sie angeben, welche Arten von Links angezeigt werden sollen. Im Diagramm werden zwei Arten von Links angezeigt: direkte Links zwischen Knoten sowie gruppenübergreifende Links (standardmäßig ausgeblendet). Gruppenübergreifende Links sind alle einzelnen Links, durch die Knoten über unterschiedliche Gruppen hinweg verbunden sind.

Beim Reduzieren einer Gruppe werden alle gruppenübergreifenden Links im Diagramm zu einzelnen Links zwischen Gruppen aggregiert. Beim Erweitern einer Gruppe können Sie Knoten in der Gruppe auswählen, und es werden neue gruppenübergreifende Links angezeigt, die Aufschluss über die tatsächlichen Abhängigkeiten in dieser Gruppe geben.

  1. Wird die Diagrammsymbolleiste nicht angezeigt, zeigen Sie im Menü Ansicht auf Symbolleisten, und klicken Sie auf Gerichtetes Diagramm.

  2. Wählen Sie eine Aufgabe aus der folgenden Tabelle aus:

    Zweck

    Anzuklickendes Element

    Dauerhaftes Anzeigen aller gruppenübergreifenden Links

    Alle gruppenübergreifenden Links anzeigen

    Ausschließliches Anzeigen der gruppenübergreifenden Links, die mit ausgewählten Knoten verbunden sind

    Gruppenübergreifende Links für ausgewählte Knoten anzeigen

    Dauerhaftes Ausblenden aller gruppenübergreifenden Links

    Alle gruppenübergreifenden Links ausblenden

    Ausblenden aller Links (oder Anzeigen aller Links)

    Alle Links ausblenden

    Klicken Sie zum Anzeigen aller Links erneut auf Alle Links ausblenden. Dadurch wird der Modus wieder deaktiviert.

Ändern des Diagrammstils

Sie können die Hintergrundfarbe und die Rahmenfarbe des Diagramms ändern, indem Sie die DGML-Datei des Diagramms bearbeiten. Informationen zum Ändern des Stils von Knoten und Links finden Sie unter Ändern des Stils von Knoten und Links.

So ändern Sie den Stil des Diagramms

  1. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  2. Fügen Sie im <DirectedGraph>-Element beliebige der folgenden Attribute hinzu, um den Stil zu ändern:

    Zu änderndes Merkmal

    Hinzuzufügendes Attribut

    Hintergrundfarbe

    Background="ColorNameOrHexadecimalValue"

    Rahmenfarbe

    Stroke="StrokeValue"

    Beispiel:

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

Sie können die Symbole für Knoten sowie die Farbe von Knoten und Links ändern. Verwenden Sie hierzu entweder vordefinierte Farben und Symbole, oder geben Sie benutzerdefinierte Farben/Symbole an, indem Sie die DGML-Datei des Diagramms bearbeiten. Weitere Informationen finden Sie unter Anwenden benutzerdefinierter Stile auf Knoten und Links.

So können Sie beispielsweise eine Farbe auswählen, um Knoten und Links hervorzuheben, die eine bestimmte Kategorie oder Eigenschaft besitzen. Dadurch können Sie bestimmte Bereiche des Diagramms kennzeichnen und sich auf diese Bereiche konzentrieren.

So wenden Sie eine vordefinierte Farbe oder ein vordefiniertes Symbol auf Knoten mit einer bestimmten Kategorie oder Eigenschaft an

  1. Sollte das Feld Legende nicht angezeigt werden, klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf Legende anzeigen.

  2. Überprüfen Sie im Feld Legende, ob die Knotenkategorie oder -eigenschaft in der Liste enthalten ist.

  3. Ist die Kategorie oder Eigenschaft nicht in der Liste enthalten, klicken Sie auf Hinzufügen, zeigen Sie auf Knotenkategorie oder Knoteneigenschaft, und wählen Sie die Kategorie oder Eigenschaft aus.

    Tipp

    Informationen zum Erstellen einer Kategorie sowie zum Zuweisen einer Kategorie zu einem Knoten finden Sie unter Zuweisen von Kategorien zu Knoten und Links. Informationen zum Erstellen einer Eigenschaft sowie zum Zuweisen einer Eigenschaft zu einem Knoten finden Sie unter Zuweisen von Eigenschaften zu Knoten und Links.

  4. Klicken Sie im Feld Legende auf die Dropdownliste neben der Kategorie oder der Eigenschaft.

  5. Orientieren Sie sich beim Auswählen des zu ändernden Stils an der folgenden Tabelle:

    Zu änderndes Merkmal

    Select

    Hintergrundfarbe

    Background

    Umrissfarbe

    Strich

    Textfarbe

    Vordergrund

    Symbol

    Symbole

  6. Wählen Sie im Auswahldialogfeld eine der folgenden Optionen aus:

    Anzuwendendes Merkmal

    Schritte

    Farbsatz (oder Symbolsatz)

    Klicken Sie auf die Dropdownliste Farbsatz auswählen (oder Symbolsatz auswählen), und klicken Sie auf einen Farbsatz (oder auf einen Symbolsatz).

    Klicken Sie in der Dropdownliste Farbsatz auswählen (oder Symbolsatz auswählen) auf Keine, um die Standardfarbe (oder das Standardsymbol) wiederherzustellen.

    Bestimmte Farbe (oder bestimmtes Symbol)

    Klicken Sie auf die Dropdownliste mit den Kategorie- oder Eigenschaftswerten, und wählen Sie eine Farbe (oder ein Symbol) aus.

  7. Klicken Sie abschließend auf OK.

    Tipp

    Im Feld Legende können Stile neu angeordnet, gelöscht oder vorübergehend deaktiviert werden. Weitere Informationen finden Sie unter Ändern des Felds "Legende".

  1. Sollte das Feld Legende nicht angezeigt werden, klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf Legende anzeigen.

  2. Überprüfen Sie im Feld Legende, ob die Kategorie oder Eigenschaft in der Liste enthalten ist.

  3. Ist die Kategorie oder Eigenschaft nicht in der Liste enthalten, klicken Sie auf Hinzufügen, zeigen Sie auf Linkkategorie oder Linkeigenschaft, und wählen Sie die Kategorie oder Eigenschaft aus.

    Tipp

    Informationen zum Erstellen einer Kategorie sowie zum Zuweisen einer Kategorie zu einem Link finden Sie unter Zuweisen von Kategorien zu Knoten und Links. Informationen zum Erstellen einer Eigenschaft sowie zum Zuweisen einer Eigenschaft zu einem Link finden Sie unter Zuweisen von Eigenschaften zu Knoten und Links.

  4. Klicken Sie im Feld Legende auf die Dropdownliste neben der Kategorie oder der Eigenschaft.

  5. Orientieren Sie sich beim Auswählen des zu ändernden Stils an der folgenden Tabelle:

    Zu änderndes Merkmal

    Select

    Pfeilspitzenfarbe

    Background

    Umrissfarbe

    Strich

  6. Wählen Sie im Feld Farbpalettenauswahl eine der Folgenden Optionen aus:

    Anzuwendendes Merkmal

    Schritte

    Farbsatz

    Klicken Sie auf die Dropdownliste Farbsatz auswählen und anschließend auf einen Farbsatz.

    Klicken Sie in der Dropdownliste Farbsatz auswählen auf Keine, um die Standardfarbe wiederherzustellen.

    Bestimmte Farbe

    Klicken Sie zum Auswählen einer Farbe auf die Dropdownliste mit den Typ- oder Eigenschaftswerten.

  7. Klicken Sie abschließend auf OK.

    Tipp

    Im Feld Legende können Stile neu angeordnet, gelöscht oder vorübergehend deaktiviert werden. Weitere Informationen finden Sie unter Ändern des Felds "Legende".

Benutzerdefinierte Stile können auf die folgenden Elemente angewendet werden:

  • Einzelne Knoten und Links

  • Gruppen von Knoten und Links

  • Gruppen von Knoten und Links auf der Grundlage bestimmter Bedingungen

So wenden Sie einen benutzerdefinierten Stil auf einen einzelnen Knoten an

  1. Klicken Sie mit der rechten Maustaste auf den Knoten, dessen Stil Sie anpassen möchten, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet und das <Node/>-Element für den Knoten hervorgehoben.

  2. Fügen Sie im <Node/>-Element beliebige der folgenden Attribute hinzu, um den Stil anzupassen:

    Zu änderndes Merkmal

    Hinzuzufügendes Attribut

    Hintergrundfarbe

    Background="ColorNameOrHexadecimalValue"

    Umriss

    Stroke="ColorNameOrHexadecimalValue"

    Umrissstärke

    StrokeThickness="StrokeValue"

    Textfarbe

    Foreground="ColorNameOrHexadecimalValue"

    Symbol

    Icon="IconFilePathLocation"

    Textgröße

    FontSize="FontSizeValue"

    Texttyp

    FontFamily="FontFamilyName"

    Textbreite

    FontWeight="FontWeightValue"

    Textstil

    FontStyle="FontStyleName"

    Sie können als Textformat beispielsweise Italic angeben.

    Textur

    Style="Glass"

    – oder –

    Style="Plain"

    Form

    Shape

    Beispiel:

    <Nodes>
       <Node Id="MyNode" Background="Green" Stroke="#FF000000"
       Foreground="White" Icon="...\Graph Icons\MyNodeIcon.jpg"/>
    </Nodes>
    
  1. Bewegen Sie im Diagramm den Mauszeiger auf den Link, um die QuickInfo anzuzeigen und den Quellknoten sowie den Zielknoten des Links zu ermitteln.

  2. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  3. Suchen Sie das <Link/>-Element, das sowohl den Namen des Quellknotens als auch den Namen des Zielknotens enthält.

  4. Fügen Sie im <Link/>-Element beliebige der folgenden Attribute hinzu, um den Stil anzupassen:

    Zu änderndes Merkmal

    Hinzuzufügendes Attribut

    Pfeilspitzenfarbe

    Background="ColorNameOrHexadecimalValue"

    Umrissfarbe

    Stroke="ColorNameOrHexadecimalValue"

    Umrissstärke

    StrokeThickness="StrokeValue"

    Umrissstil

    StrokeDashArray="StrokeArrayValues"

    Beispiel:

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" Background="Green" Stroke="#FF000000" />
    </Links>
    
  1. Weisen Sie den Knoten oder Links die gewünschten Kategorien oder Eigenschaften zu.

    Weitere Informationen finden Sie unter Zuweisen von Kategorien zu Knoten und Links sowie unter Zuweisen von Eigenschaften zu Knoten und Links.

  2. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  3. Sollte kein <Styles></Styles>-Element vorhanden sein, fügen Sie unter dem <DirectedGraph></DirectedGraph>-Element nach dem <Links></Links>-Element eines hinzu.

  4. Geben Sie im <Styles></Styles>-Element unter dem <Style/>-Element die folgenden Attribute an:

    • TargetType="Node | Link | Graph"

    • GroupLabel="Name im Feld "Legende""

    • ValueLabel="Name im Stilauswahlfeld"

    Verwenden Sie keine Bedingung, wenn Sie einen benutzerdefinierten Stil auf alle Zieltypen anwenden möchten.

  1. Fügen Sie im <Style/>-Element ein <Condition/>-Element mit einem Expression-Attribut hinzu, um einen Ausdruck anzugeben, von dem ein boolescher Wert zurückgegeben wird.

    Beispiel:

    <Condition Expression="MyCategory"/>
    

    - oder -

    <Condition Expression="MyCategory > 100"/>
    

    – oder –

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

    In diesem Ausdruck wird die folgende BNF-Syntax (Backus-Naur-Form) verwendet:

    <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> ::= Bezeichner

    <MethodArgs> ::= <Expression> | <Expression> "," <MethodArgs> | <leer>

    <Identifier> ::= [^. ]*

    <Literal> ::= Zeichenfolgenliteral in einzelnen oder doppelten Anführungszeichen

    <Number> ::= Zeichenfolge mit Ziffern und optionalem Dezimaltrennzeichen

    Sie können mehrere Elemente vom Typ <Condition/> angeben, die alle auf "True" festgelegt sein müssen, damit der Stil übernommen wird.

  2. Fügen Sie in der nächsten Zeile nach dem <Condition/>-Element mindestens ein <Setter/>-Element hinzu, um ein Property-Attribut anzugeben, sowie ein festes Value-Attribut oder ein berechnetes Expression-Attribut, das auf das Diagramm, auf die Knoten oder auf die Links angewendet werden soll, von dem bzw. von denen die Bedingung erfüllt wird.

    Beispiel:

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

Im folgenden einfachen und umfassenden Beispiel wird durch die Bedingung angegeben, dass ein Knoten abhängig davon, ob die Passed-Kategorie auf True oder False festgelegt ist, grün bzw. rot dargestellt werden soll:

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

Die folgende Tabelle enthält einige Beispielbedingungen, die Sie verwenden können:

Zweck

DGML-Beispiel

Festlegen des Schriftgrads als Funktion der Anzahl von Codezeilen, durch die auch die Größe des Knotens geändert wird. In diesem Beispiel werden mehrere Eigenschaften (FontSize und FontFamily) mithilfe eines einzelnen bedingten Ausdrucks festgelegt.

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

Festlegen der Hintergrundfarbe eines Knotens auf Basis der Coverage-Eigenschaft. Die Stile werden – ähnlich wie if-else-Anweisungen – in der Anzeigereihenfolge ausgewertet.

In diesem Beispiel:

  1. Legen Sie die Background-Eigenschaft auf Grün fest, wenn Coverage größer 80 ist.

  2. Legen Sie die Background-Eigenschaft abhängig vom Wert der Coverage-Eigenschaft auf einen Orangeton fest, wenn Coverage größer 50 ist.

  3. Legen Sie die Background-Eigenschaft abhängig vom Wert der Coverage-Eigenschaft auf Rot fest.

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

Legen Sie die Shape-Eigenschaft auf None fest, sodass die Form durch das Symbol ersetzt wird. Geben Sie mithilfe der Icon-Eigenschaft den Ort des Symbols an.

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

Ändern des Felds "Legende"

Im Feld Legende können Stile neu angeordnet, gelöscht oder vorübergehend deaktiviert werden:

  1. Klicken Sie im Feld Legende mit der rechten Maustaste auf einen Stil.

  2. Führen Sie eine der folgenden Aufgaben aus:

    Zu

    Anzuklickendes Element

    Verschieben des Stils nach oben

    Nach oben

    Verschieben des Elements nach unten

    Nach unten

    Löschen des Elements

    Löschen

    Deaktivieren des Elements

    Deaktivieren

    Reaktivieren des Elements

    Aktivieren

Kopieren von Stilen aus einem Diagramm in ein anderes Diagramm

  • Klicken Sie mit der rechten Maustaste auf einen leeren Bereich des Quelldiagramms, klicken Sie auf Legende kopieren, und fügen Sie den Stil anschließend in das Zieldiagramm ein.

Organisieren von Knoten in Gruppen

Zweck

Auszuführende Schritte

Anzeigen von Knoten mit Kapselungsbeziehungen als Gruppen oder Links

Wählen Sie die Containerknoten aus, klicken Sie mit der rechten Maustaste auf die Auswahl, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Als Gruppe anzeigen, um Links als Gruppen anzuzeigen.

Wählen Sie die Containerknoten aus, klicken Sie mit der rechten Maustaste auf die Auswahl, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Als Link anzeigen, um Gruppen als Links anzuzeigen.

Klicken Sie mit der rechten Maustaste auf das Diagramm, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Alle als Links anzeigen, um alle Gruppen als Links anzuzeigen.

Klicken Sie mit der rechten Maustaste auf das Diagramm, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Alle als Gruppen anzeigen, um alle Links als Gruppen anzuzeigen.

Hinzufügen einer neuen, die ausgewählten Knoten umschließenden Gruppe

  1. Klicken Sie mit der rechten Maustaste auf die Auswahl, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Übergeordnete Gruppe hinzufügen.

  2. Klicken Sie mit der rechten Maustaste auf die neue Gruppe, und klicken Sie anschließend auf Eigenschaften.

  3. Benennen Sie die Gruppe in der Eigenschaft Bezeichnung um.

Hinzufügen einer neuen Gruppe, die Knoten mit bestimmten Kategorien oder Eigenschaften umschließt

  1. Klicken Sie zum Anzeigen des Felds Auswahl mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie anschließend auf Erweiterte Auswahl anzeigen

  2. Klicken Sie im Feld Auswahl auf die gewünschten Kategorien oder Eigenschaften.

  3. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Übergeordnete Gruppe hinzufügen.

  4. Klicken Sie mit der rechten Maustaste auf die neue Gruppe, und klicken Sie anschließend auf Eigenschaften.

  5. Benennen Sie die Gruppe in der Eigenschaft Bezeichnung um.

Gruppieren von Knoten nach ihren Containern

  1. Zeigen Sie im Menü Architektur auf Fenster, und klicken Sie anschließend auf Architektur-Explorer.

  2. Suchen Sie mithilfe des Architektur-Explorers nach allen zu gruppierenden Knoten, und wählen Sie sie aus.

    Weitere Informationen finden Sie unter Gewusst wie: Suchen von Code im Architektur-Explorer.

  3. Klicken Sie auf der rechten Seite der aktuellen Spalte auf die reduzierte Aktionsspalte, um sie zu erweitern.

    HinweisHinweis
    Die Aktionsspalte wird hervorgehoben, wenn Sie den Mauszeiger über die Spalte bewegen.
  4. Klicken Sie in der Aktionsspalte auf Enthalten in.

  5. Ziehen Sie die Containergruppen aus der nächsten Spalte in das Diagramm.

  6. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Alle als Gruppen anzeigen.

Gruppieren von Knoten nach Eigenschaftswerten

  1. Speichern Sie das Diagramm als DGML-Datei auf einem Datenträger.

  2. Zeigen Sie im Menü Architektur auf Fenster, und klicken Sie anschließend auf Architektur-Explorer.

  3. Klicken Sie im Architektur-Explorer unter Dateisystem auf Dateien auswählen.

  4. Klicken in der nächsten Spalte auf die gespeicherte DGML-Datei.

  5. Suchen Sie mithilfe des Architektur-Explorers nach allen zu gruppierenden Knoten, und wählen Sie sie aus.

    Weitere Informationen finden Sie unter Gewusst wie: Suchen von Code im Architektur-Explorer.

  6. Klicken Sie auf der rechten Seite der aktuellen Spalte auf die reduzierte Aktionsspalte, um sie zu erweitern.

    HinweisHinweis
    Die Aktionsspalte wird hervorgehoben, wenn Sie den Mauszeiger über die Spalte bewegen.
  7. Klicken Sie in der Aktionsspalte unter Gruppierung auf Nach Eigenschaften gruppieren.

  8. Wählen Sie in der nächsten Spalte die Eigenschaften aus, die Sie als Gruppen verwenden möchten.

    Die nächste Spalte wird mit den verfügbaren Eigenschaftswerten angezeigt.

  9. Ziehen Sie die Eigenschaftswertgruppen aus der nächsten Spalte in das Diagramm.

  10. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Alle als Gruppen anzeigen.

Entfernen von Gruppen

Wählen Sie die zu entfernenden Gruppen aus, klicken Sie mit der rechten Maustaste auf die Auswahl, zeigen Sie auf Gruppe, und klicken Sie anschließend auf Gruppe entfernen.

Entfernen von Knoten ab der übergeordneten Gruppe bis hin zur zweiten übergeordneten Ebene oder außerhalb einer Gruppe, sofern keine Gruppe der zweiten übergeordneten Ebene vorhanden ist

Wählen Sie die zu entfernenden Knoten aus, klicken Sie mit der rechten Maustaste auf die Auswahl, zeigen Sie auf Gruppe, und klicken Sie dann auf Aus übergeordnetem Element entfernen.

Das Organisieren von Knoten in Gruppen kann auch durch Bearbeiten der DGML-Datei des Diagramms erfolgen.

So verwenden Sie einen vorhandenen Knoten als Gruppe oder fügen eine neue Gruppe hinzu

  1. Klicken Sie mit der rechten Maustaste auf den Knoten, den Sie als Gruppenknoten verwenden möchten, und klicken Sie anschließend auf DGML anzeigen, um einen vorhandenen Knoten als Gruppe zu verwenden.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet und das <Node/>-Element für den Knoten hervorgehoben.

    - oder -

    1. Klicken Sie mit der rechten Maustaste auf einen leeren Bereich des Diagramms, und klicken Sie anschließend auf DGML anzeigen, um eine neue Gruppe hinzuzufügen.

    2. Fügen Sie im <Nodes>-Abschnitt ein neues <Node/>-Element hinzu.

  2. Fügen Sie im <Node/>-Element ein Group-Attribut hinzu, um anzugeben, ob die Gruppe erweitert oder reduziert angezeigt werden soll. Beispiel:

    <Nodes>
       <Node Id="MyFirstGroup" Group="Expanded" />
       <Node Id="MySecondGroup" Group="Collapsed" />
    </Nodes>
    
  3. Vergewissern Sie sich im <Links>-Abschnitt, dass für jede Beziehung zwischen einem Gruppenknoten und den jeweiligen untergeordneten Knoten ein <Link/>-Element mit den folgenden Attributen vorhanden ist:

    • Ein Source-Attribut, das den Gruppenknoten angibt

    • Ein Target-Attribut, das den untergeordneten Knoten angibt

    • Ein Category-Attribut, das eine Contains-Beziehung zwischen dem Gruppenknoten und seinem untergeordneten Knoten angibt

    Beispiel:

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

    Weitere Informationen zum Category-Attribut finden Sie unter Zuweisen von Kategorien zu Knoten und Links.

Sie können Knoten und Links organisieren, indem Sie ihnen Eigenschaften zuweisen. So können Sie beispielsweise Knoten auswählen, die über bestimmte Eigenschaften verfügen, um diese Knoten zu gruppieren, ihren Stil zu ändern oder sie auszublenden.

So weisen Sie einem Knoten eine Eigenschaft zu

  1. Klicken Sie mit der rechten Maustaste auf den Knoten, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet und das <Node/>-Element für den Knoten hervorgehoben.

  2. Geben Sie im <Node/>-Element den Namen der Eigenschaft und deren Wert an. Beispiel:

    <Nodes>
       <Node Id="MyNode" MyPropertyName="PropertyValue" />
    </Nodes>
    
  3. Fügen Sie dem <Properties>-Abschnitt ein <Property/>-Element hinzu, um Attribute wie den angezeigten Namen und den Datentyp anzugeben:

    <Properties>
       <Property Id="MyPropertyName" Label="My Property" DataType="System.DataType"/>
    </Properties>
    
  1. Bewegen Sie im Diagramm den Mauszeiger auf den Link, um die QuickInfo anzuzeigen und den Quellknoten sowie den Zielknoten des Links zu ermitteln.

  2. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  3. Suchen Sie das <Link/>-Element, das sowohl den Namen des Quellknotens als auch den Namen des Zielknotens enthält.

  4. Geben Sie im <Node/>-Element den Namen der Eigenschaft und deren Wert an. Beispiel:

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" MyPropertyName="PropertyValue" />
    </Links>
    
  5. Fügen Sie dem <Properties>-Abschnitt ein <Property/>-Element hinzu, um Attribute wie den angezeigten Namen und den Datentyp anzugeben:

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

Sie können Knoten organisieren, indem Sie ihnen Kategorien zuweisen. So können Sie beispielsweise Knoten auswählen, die sich in bestimmten Kategorien befinden, um diese Knoten zu gruppieren, ihren Stil zu ändern oder sie auszublenden. Sie können Links mit bestimmten Kategorien hervorheben. Weitere Informationen finden Sie in den folgenden Abschnitten:

  • Organisieren von Knoten in Gruppen

  • Ändern des Stils von Knoten und Links

  • Aus- oder Einblenden von Knoten

So weisen Sie einem Knoten eine Kategorie zu

  • Klicken Sie mit der rechten Maustaste auf den Knoten, zeigen Sie auf Kategorisieren, und klicken Sie anschließend auf eine vordefinierte Kategorie, um eine vordefinierte Kategorie (beispielsweise Kategorie 1) zuzuweisen.

- oder -

  • So erstellen Sie eine benutzerdefinierte Kategorie und weisen sie zu:

    • Klicken Sie auf den zu kategorisierenden Knoten, drücken Sie F4, um das Eigenschaftenfenster zu öffnen, geben Sie in der Eigenschaft Neue Kategorie des Knotens den Namen der Kategorie ein, und drücken Sie anschließend die EINGABETASTE.

    - oder -

    1. Klicken Sie mit der rechten Maustaste auf den Knoten, und klicken Sie anschließend auf DGML anzeigen.

      Von Visual Studio wird die DGML-Datei des Diagramms geöffnet und das <Node/>-Element für den Knoten hervorgehoben.

    2. Fügen Sie im <Node/>-Element ein Category-Attribut hinzu, um den Namen der Kategorie anzugeben. Beispiel:

      <Nodes>
         <Node Id="MyNode" Category="MyCategory" />
      </Nodes>
      
    3. Fügen Sie ein <Category/>-Element zum <Categories>-Abschnitt hinzu, um mithilfe des Label-Attributs den Anzeigetext für diese Kategorie angeben zu können:

      <Categories>
         <Category Id="MyCategory" Label="My Category" />
      </Categories>
      
  1. Bewegen Sie im Diagramm den Mauszeiger auf den Link, um die QuickInfo anzuzeigen und den Quellknoten sowie den Zielknoten des Links zu ermitteln.

  2. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie anschließend auf DGML anzeigen.

    Von Visual Studio wird die DGML-Datei des Diagramms geöffnet.

  3. Suchen Sie das <Link/>-Element, das sowohl den Namen des Quellknotens als auch den Namen des Zielknotens enthält.

  4. Fügen Sie im <Link/>-Element ein Category-Attribut hinzu, um den Namen der Kategorie anzugeben. Beispiel:

    <Links>
       <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory"
    </Links>
    
  5. Fügen Sie dem <Categories>-Abschnitt ein <Category/>-Element hinzu, damit Sie mithilfe des Label-Attributs den Anzeigetext für diese Kategorie angeben können:

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

Sie können hierarchische Kategorien erstellen, um die Organisation der Knoten zu vereinfachen, und untergeordneten Kategorien mithilfe der Vererbung Attribute hinzufügen.

So erstellen Sie hierarchische Kategorien

  • Fügen Sie ein <Category/>-Element für die übergeordnete Kategorie hinzu, und fügen Sie anschließend dem <Category/>-Element der untergeordneten Kategorie das BasedOn-Attribut hinzu.

    Beispiel:

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

    In diesem Beispiel ist der Hintergrund von MyFirstNode grün, da das Category-Attribut das Background-Attribut von MyParentCategory erbt.

Verknüpfen von Elementen mit Knoten

Sie können Elemente wie Dokumente oder URLs mit einem Knoten verknüpfen, indem Sie die DGML-Datei des Diagramms bearbeiten und ein Reference-Attribut zum <Node/>-Element des Knotens hinzufügen. Das Reference-Attribut gibt den Pfad dieses Inhalts an. Dabei kann es sich um einen relativ zum Ort der DGML-Datei angegebenen Pfad oder um einen absoluten Pfad handeln. Anschließend können Sie den Inhalt über den Knoten im Diagramm öffnen und anzeigen.

Tipp

Die Elemente, auf die verwiesen wird, müssen vorhanden sein, damit sie angezeigt werden können.

Möglicherweise möchten Sie die folgenden Elemente verknüpfen:

  • Möglicherweise verknüpfen Sie zur Beschreibung der Änderungen an einer Klasse die URL einer Arbeitsaufgabe, eines Dokuments oder einer anderen DGML-Datei mit dem Knoten einer Klasse.

  • Möglicherweise verknüpfen Sie ein Ebenendiagramm mit einem Gruppenknoten, der eine Ebene in der logischen Architektur der Software darstellt.

  • Möglicherweise verknüpfen Sie ein Komponentendiagramm mit dem Knoten für eine Schnittstelle, um weitere Informationen über eine Komponente anzuzeigen, die diese Schnittstelle verfügbar macht.

  • Verknüpfen Sie einen Knoten mit einer Team Foundation Server-Arbeitsaufgabe, einem -Fehler oder anderen Informationen, die sich auf den Knoten beziehen.

So verknüpfen Sie ein Element mit einem Knoten

  1. Klicken Sie im Diagramm mit der rechten Maustaste auf den Knoten, und klicken Sie dann auf DGML anzeigen.

    Die DGML-Datei des Diagramms wird von Visual Studio geöffnet, und das <Node/>-Element für den Knoten wird hervorgehoben.

  2. Führen Sie eine der Aufgaben aus der folgenden Tabelle aus:

    Zum Verknüpfen von

    Schritte

    Ein einzelnes Element

    • Fügen Sie im <Node/>-Element ein Reference-Attribut hinzu, um den Ort des Elements anzugeben.

      HinweisHinweis
      Pro <Node/>-Element kann jeweils nur ein Reference-Attribut vorhanden sein.

    Beispiel:

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

    Mehrere Elemente

    1. Fügen Sie im <Node/>-Element ein neues Attribut hinzu, um den Ort der einzelnen Verweise anzugeben.

    2. Gehen Sie im <Properties>-Abschnitt folgendermaßen vor:

      1. Fügen Sie für jeden neuen Verweistyp ein <Property/>-Element hinzu.

      2. Legen Sie das Id-Attribut auf den Namen des neuen Verweisattributs fest.

      3. Fügen Sie das IsReference-Attribut hinzu, und legen Sie es auf True fest, damit der Verweis im Kontextmenü Gehe zu des Knotens angezeigt wird.

      4. Geben Sie mithilfe des Label-Attributs den Anzeigetext für das Kontextmenü Gehe zu des Knotens an.

    Beispiel:

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

    Im Diagramm wird der Name des Knotens unterstrichen dargestellt.

  3. Geben Sie mithilfe des ReferenceTemplate-Attributs eine allgemeine, von mehreren Verweisen verwendete Zeichenfolge (beispielsweise eine URL) an, anstatt die Zeichenfolge im Verweis zu wiederholen.

    Mit dem ReferenceTemplate-Attribut wird ein Platzhalter für den Wert des Verweises angegeben. Im folgenden Beispiel wird im <Node/>-Element der Platzhalter {0} im ReferenceTemplate-Attribut durch den Wert des MyFirstReference-Attributs und den Wert des MySecondReference-Attributs ersetzt, um einen vollständigen Pfad zu bilden:

    <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. Führen Sie zum Anzeigen des Elements, auf das verwiesen wird, eine der folgenden Aufgaben aus:

    Anzeige von

    Auszuführender Schritt

    Ein einzelnes Element

    Doppelklicken Sie auf den Knoten.

    – oder –

    Klicken Sie mit der rechten Maustaste auf den Knoten, zeigen Sie auf Gehe zu, und klicken Sie dann auf das Element.

    Mehrere Elemente

    Klicken Sie mit der rechten Maustaste auf den Knoten, zeigen Sie auf Gehe zu, und klicken Sie dann auf ein Element.

Erstellen von Aliasen für häufig verwendete Pfade

Das Ersetzen häufig verwendeter Pfade durch Aliase trägt dazu bei, die Größe der DGML-Datei und die erforderliche Zeit zum Laden und Speichern der Datei zu reduzieren. Fügen Sie zum Erstellen eines Alias am Ende der DGML-Datei einen <Paths></Paths>-Abschnitt hinzu. Fügen Sie in diesem Abschnitt ein <Path/>-Element hinzu, um einen Alias für den Pfad zu definieren:

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

Um von einem Element in der DGML-Datei auf den Alias zu verweisen, schließen Sie den Id-Wert des <Path/>-Elements in ein Dollarzeichen ($) und Klammern (()) ein:

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

Grundlegendes zur Directed Graph Markup Language (DGML)

DGML beschreibt zyklische und azyklische gerichtete Diagramme mithilfe von einfachem XML. Ein gerichtetes Diagramm ist ein Satz von Knoten, die durch Links bzw. Ränder verbunden sind. Mithilfe von Knoten und Links können Netzwerkstrukturen dargestellt werden, z. B. Elemente in einem Softwareprojekt. Stellen Sie Informationen mithilfe von DGML visuell dar, führen Sie Komplexitätsanalysen aus, oder durchsuchen und bearbeiten Sie gerichtete Diagramme.

Knoten und Links werden als Diagrammelemente oder einfach als Elemente bezeichnet. In der folgenden Tabelle werden verschiedene in DGML verwendete Elementtypen beschrieben:

Tipp

Wenn Sie eine DGML-Datei bearbeiten, unterstützt Sie IntelliSense beim Auffinden der für die Elemente verfügbaren Attribute und der zugehörigen Werte. Wenn Sie Farben in Attributen angeben möchten, verwenden Sie Namen für allgemeine Farben (z. B. "Blau") oder ARGB-Hexadezimalwerte (z. B. "#ffa0b1c3"). DGML verwendet eine kleine Teilmenge der WPF (Windows Presentation Foundation)-Farbdefinitionsformate. Weitere Informationen finden Sie unter Colors-Klasse.

Element

Beispielformat

<DirectedGraph></DirectedGraph>

Dieses Element ist das Stammelement des Dokuments mit einem gerichteten Diagramm (.dgml). Alle anderen DGML-Elemente werden innerhalb des Bereichs dieses Elements angezeigt.

In der folgenden Liste werden optionale Attribute beschrieben, die eingeschlossen werden können:

  • Background – Die Farbe des Diagrammhintergrunds.

  • BackgroundImage – Der Speicherort der Bilddatei, die als Diagrammhintergrund verwendet werden soll.

  • ButterflyMode – Wenn auf True festgelegt, werden nur verknüpfte Knoten angezeigt, die sich im selben Pfad wie die ausgewählten Knoten befinden. Sind keine Knoten ausgewählt, wird der primäre Hub ausgewählt.

    HinweisHinweis
    Zirkuläre Links werden in diesem Modus nicht angezeigt.Stattdessen werden Knoten, die Teil zirkulärer Beziehungen sind, kopiert, damit sie auf beiden Seiten der ausgewählten Knoten angezeigt werden.Abhängigkeiten, die mehr als eine Ebene vom ausgewählten Knoten entfernt sind, werden nicht zwingend sortiert angezeigt, da das Diagrammlayout auf dem kürzesten Pfad basiert, der von dem ausgewählten Knoten ausgeht.

    Weitere Informationen finden Sie unter Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten.

  • GraphDirection – Wenn das Diagramm auf das Strukturlayout festgelegt wird (Sugiyama), ordnen Sie die Knoten so an, dass die meisten der Links in die angegebene Richtung fließen: TopToBottom, BottomToTop, LeftToRight oder RightToLeft. Weitere Informationen finden Sie unter Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten.

  • Layout – Legen Sie das Diagramm auf die folgenden Layouts fest: None, Sugiyama (Strukturlayout), ForceDirected (schnelle Cluster) oder DependencyMatrix. Weitere Informationen finden Sie unter Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten.

  • NeighborhoodDistance – Wenn das Diagramm auf das Strukturlayout oder das schnelle Clusterlayout festgelegt ist, werden nur die Knoten angezeigt, die eine bestimmte Anzahl (1-7) von Links von den ausgewählten Knoten entfernt liegen. Weitere Informationen finden Sie unter Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten.

  • Title – Der Name des Diagramms.

  • ZoomLevel – Die Zoomstufe, mit der das Diagramm ursprünglich angezeigt wurde. Geben Sie einen Gleitkommawert (wobei 1 gleich 100 % ist) oder Fit an, um das Diagramm an die Fenstergröße anzupassen.

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

Dieses optionale Element enthält eine Liste von <Node/>-Elementen, die Knoten im Diagramm definieren. Weitere Informationen finden Sie unter dem <Node/>-Element.

HinweisHinweis
Wenn Sie auf einen nicht definierten Knoten in einem <Link/>-Element verweisen, wird im Diagramm automatisch ein <Node/>-Element erstellt.
<?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/>

Dieses Element definiert einen einzelnen Knoten. Es wird in der Liste der <Nodes><Nodes/>-Elemente angezeigt.

Dieses Element muss die folgenden Attribute enthalten:

  • Id – Der eindeutige Name des Knotens und der Standardwert des Label-Attributs, wenn kein separates Label-Attribut angegeben ist. Dieser Name muss mit dem Source-Attribut oder Target-Attribut des Links übereinstimmen, der darauf verweist.

In der folgenden Liste werden einige optionale Attribute beschrieben, die eingeschlossen werden können:

  • Label – Der Anzeigename des Knotens.

  • Formatattribute. Weitere Informationen finden Sie unter Anwenden benutzerdefinierter Stile auf Knoten und Links.

  • Category – Der Name einer Kategorie, die Elemente angibt, die dieses Attribut gemeinsam verwenden. Weitere Informationen finden Sie unter dem <Category/>-Element.

  • Property – Der Name einer Eigenschaft, die Elemente angibt, die denselben Eigenschaftswert aufweisen. Weitere Informationen finden Sie unter dem <Property/>-Element.

  • Group – Wenn der Knoten andere Knoten enthält, legen Sie dieses Attribut auf Expanded oder Collapsed fest, um seinen Inhalt anzuzeigen oder auszublenden. Es muss ein <Link/>-Element vorhanden sein, das das Category="Contains"-Attribut einschließt und den übergeordneten Knoten als Quellknoten und den untergeordneten Knoten als Zielknoten angibt. Weitere Informationen finden Sie unter Organisieren von Knoten in Gruppen.

  • Visibility – Legen Sie dieses Attribut auf Visible, Hidden oder Collapsed fest. Verwendet System.Windows.Visibility. Weitere Informationen finden Sie unter Aus- oder Einblenden von Knoten.

  • Reference – Legen Sie dieses Attribut fest, um es mit einem Dokument oder einer URL zu verknüpfen. Weitere Informationen finden Sie unter Verknüpfen von Elementen mit Knoten.

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

Dieses Element enthält die Liste von <Link>-Elementen, die Links zwischen Knoten definieren. Weitere Informationen finden Sie unter dem <Link/>-Element.

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

<Link/>

Dieses Element definiert einen einzelnen Link, der einen Quellknoten mit einem Zielknoten verbindet. Es wird in der Liste der <Links></Links>-Elemente angezeigt.

HinweisHinweis
Wenn dieses Element auf einen nicht definierten Knoten verweist, wird vom Diagrammdokument automatisch ein Knoten erstellt, der über die angegebenen Attribute (sofern vorhanden) verfügt.

Dieses Element muss die folgenden Attribute enthalten:

  • Source – Der Quellknoten des Links.

  • Target – Der Zielknoten des Links.

In der folgenden Liste werden einige optionale Attribute beschrieben, die eingeschlossen werden können:

  • Label – Der Anzeigename des Links.

  • Formatattribute. Weitere Informationen finden Sie unter Anwenden benutzerdefinierter Stile auf Knoten und Links.

  • Category – Der Name einer Kategorie, die Elemente angibt, die dieses Attribut gemeinsam verwenden. Weitere Informationen finden Sie unter dem <Category/>-Element.

  • Property – Der Name einer Eigenschaft, die Elemente angibt, die denselben Eigenschaftswert aufweisen. Weitere Informationen finden Sie unter dem <Property/>-Element.

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

In diesem Element ist die Liste der <Category/>-Elemente enthalten. Weitere Informationen finden Sie unter dem <Category/>-Element.

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

<Category/>

Dieses Element definiert ein Category-Attribut, mit dem Elemente angegeben werden, die dieses Attribut gemeinsam verwenden. Ein Category-Attribut kann verwendet werden, um Diagrammelemente zu organisieren, um gemeinsame Attribute durch Vererbung bereitzustellen oder um weitere Metadaten zu definieren.

Dieses Element muss die folgenden Attribute enthalten:

  • Id – Der eindeutige Name der Kategorie und der Standardwert des Label-Attributs, wenn kein separates Label-Attribut angegeben ist.

In der folgenden Liste werden einige optionale Attribute beschrieben, die eingeschlossen werden können:

  • Label – Ein Anzeigename für die Kategorie.

  • BasedOn – Die übergeordnete Kategorie, von der die <Category/> des aktuellen Elements erbt.

    Im Beispiel für dieses Element erbt die Kategorie FailedTest ihr Stroke-Attribut aus der Kategorie PassedTest. Weitere Informationen finden Sie unter "So erstellen Sie hierarchische Kategorien" in Zuweisen von Kategorien zu Knoten und Links.

Kategorien stellen auch ein bestimmtes grundlegendes Vorlagenverhalten bereit, mit dem die Darstellung von Knoten und Links bei der Anzeige in einem Diagramm gesteuert wird. Weitere Informationen finden Sie unter Anwenden benutzerdefinierter Stile auf Knoten und Links.

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

In diesem Element ist die Liste der <Property/>-Elemente enthalten. Weitere Informationen finden Sie unter dem <Property/>-Element.

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

<Property/>

Dieses Element definiert ein Property-Attribut, mit dem Sie einem DGML-Element oder -Attribut (einschließlich von Kategorien und anderen Eigenschaften) einen Wert zuweisen können.

Dieses Element muss die folgenden Attribute enthalten:

  • Id – Der eindeutige Name der Eigenschaft und der Standardwert des Label-Attributs, wenn kein separates Label-Attribut angegeben ist.

  • DataType – Der Typ der Daten, die von der Eigenschaft gespeichert werden.

Wenn die Eigenschaft im Eigenschaftenfenster angezeigt werden soll, geben Sie mit der Label-Eigenschaft den Anzeigenamen der Eigenschaft an.

Weitere Informationen finden Sie unter Zuweisen von Eigenschaften zu Knoten und Links.

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

Siehe auch

Konzepte

Gewusst wie: Generieren von Abhängigkeitsdiagrammen für .NET-Code

Weitere Ressourcen

Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten

Gewusst wie: Untersuchen von Code mit Abhängigkeitsdiagrammen