共用方式為


編輯和自訂相依性圖形

您可以編輯相依性圖形,而不會影響基礎程式碼。 這在您想要將焦點放在主要項目或交換關於程式碼的想法時可能會很有用。 例如,若要加強標示感興趣的區域,您可以選擇節點並篩選它們,改變節點和連結的樣式,隱藏或刪除節點,並透過屬性、分類或群組來組織節點。

您還可以透過編輯圖形的 Directed Graph Markup Language (.dgml) 檔案來自訂圖形。 例如,您可以編輯元素來指定自訂樣式,指定節點和連結的屬性和分類,或將節點連至例如文件、 URL 或其他圖形等項目。

注意事項注意事項

Visual Studio 在您儲存 .dgml 檔案時會刪除未使用的 DGML 項目和屬性。它也會在您手動加入新的連結時自動建立節點項目。當您儲存 .dgml 檔案時,任何加入至項目的屬性可能會自動按照字母順序重新排列。如需 DGML 項目的詳細資訊,請參閱了解有向圖形標記語言 (DGML)。

需求

本主題內容

  • 選取節點或連結。

  • 重新命名節點或連結

  • 隱藏或顯示節點和連結

  • 加入節點或連結

  • 加入註解至圖形中

  • 刪除節點

  • 群組節點

  • 合併圖形

  • 變更圖形的樣式

  • 變更節點和連結的樣式

  • 將樣式從一個圖形複製到另一個圖形

  • 指派屬性給節點和連結

  • 指派分類給節點和連結

  • 將項目連結至節點或連結

  • 建立常用路徑的別名

選取節點或連結。

若要

請執行這些步驟

選取所有未選取的節點

開啟所選節點的捷徑功能表。 選取 [選取], [反向選擇]。

選取連結至已選取節點的其他節點

開啟所選節點的捷徑功能表。 選取 [選取] 和下列其中一項:

  • 若要選取直接與所選節點連接的其他節點,請選取 [ 連入相依性]。

  • 若要選取直接從選定節點連接出的其他節點,請選取 [連出相依性]。

  • 若要選取直接與所選節點連接並從選定節點連接出的其他節點,請按一下 [加入兩者]。

  • 若要再加入所有與選取之節點有連結的節點,請按一下 [選取所有連接的節點] 。

  • 若要加入選取之節點的所有子系,按一下 [選取子系]。

重新命名節點或連結

  • 選取節點或連結。 請按 F2。 當編輯方塊出現時,請為節點或連結重新命名。

    如果標籤為可見的,請選取標籤。

隱藏或顯示節點和連結

隱藏節點以防止它們參與配置演算法。 根據預設,跨群組連結是隱藏的。 跨群組連結是連接跨群組之節點的個別連結。 當群組摺疊起來時,圖形會將所有跨群組連結彙總成單一的群組間連結。 當您展開一個群組並選取群組內的節點時,跨群組連結會出現並在群組中並顯示相依性。

警告

在您要與使用 Visual Studio Premium 或 Visual Studio Professional的人分享使用 Visual Studio Ultimate 建立的圖表之前,請確保為取消隱藏所有您想分享給其他人的節點或跨群組連結。否則,使用者將無法對這些項目取消隱藏。

隱藏或顯示節點

若要

請執行這些步驟

隱藏選取的節點

  1. 選取您要隱藏的節點。

  2. 開啟選取的節點或是圖形的捷徑功能表。 選取 [選取], [隱藏選取的]。

隱藏未選取的節點

  1. 選取您想要保持可見的節點。

  2. 開啟選取的節點或是圖形的捷徑功能表。 選取 [選取], [隱藏未選取項目]。

顯示隱藏的節點

  • 要顯示在群組內的所有隱藏的節點,請確定群組先展開。 選取取消隱藏子系 解除隱藏子系圖示 在圖形的左上角.

  • 若要顯示所有隱藏的節點,開啟圖形的捷徑功能表。 選取 [選取] , [全部解除隱藏] 。

編輯 .dgml 檔案來隱藏節點

  1. 開啟圖形的快捷選單。 選取 [移至] 、 [DGML] 。

    Visual Studio 開啟圖形的 .dgml 檔案。

  2. 在 <Node/> 項目中,加入下列屬性以隱藏節點:

    Visibility="Hidden"

    例如:

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

若要顯示或隱藏連結

若要

在圖形工具列上,開啟 [變更連結在圖形上的呈現方式] 清單或開啟圖表捷徑功能表。 選取

任何時候都顯示所有跨群組連結

顯示所有跨群組連結

這個隱藏了群組之間的彙總連結。

只顯示選取的節點的跨群組連結

顯示所選取節點上的跨群組連結

任何時候都隱藏跨群組連結

隱藏跨群組連結

隱藏所有連結 (或顯示所有連結)

隱藏所有連結

若要顯示所有連結,請再次選取 [隱藏所有連結] 以關閉此模式。

加入節點或連結

加入新的未定義節點

請執行這些步驟

從目前的游標位置開始

在圖形上選取要放置新節點的地方。 按一下 [插入] 。

將與所選節點連接

  1. 選取來源節點。

    工具列始在節點上方出現。

    相依性圖形工具列

  2. 在工具列上,選擇 [建立一個與此節點相同分類的節點並添加新的連結] 圖形工具列 - 建立具有連結的節點

  3. 選取圖形的一個地方放置新的節點。

    (鍵盤: 按下 [Tab] 直到您想要加入連結的節點取得焦點,然後按下 [Alt] + [Insert] 。)

將目前的焦點與存在的節點加入連結

按 [Tab] 直到您想要加入連結的節點已經得到焦點。 按 [Alt] + [移位] + [插入] 。

欲加入節點

請執行這些步驟

方案中的項目

  1. 在 [方案總管] 中,尋找項目。 使用 [方案總管] 搜尋方塊或瀏覽方案。 若要在 [方案總管] 中瀏覽您的程式碼,請參閱 檢視程式碼的結構

    提示提示
    若要尋找與指定的型別或成員相關聯的項目,請為該型別或成員在 [方案總管] 中開啟捷徑選單。選取您感興趣的關聯性。[方案總管] 只顯示與指定的關聯性有關的項目。
  2. 將您感興趣的項目拖曳至圖形表面。

    使用 Visual Studio Ultimate 時,若您要包含所選擇的項目的父系容器階層架構,請在您將項目拖曳至圖形時按住 [CTRL] 鍵。

    -或-

    在 [方案總管] ,開啟 [建立新的圖形文件...] 清單。 選取 [加入至使用中的關聯圖形] 。 若要加入父容器階層,選取 [加入具有內含項目階層架構的作用中的相依性圖形] 。

    Visual Studio 會將最上層程式碼項目新增至你的選擇裏。 若要檢視節點是否包含項目,請將滑鼠指標移到節點上方以使箭形符號 (^) 出現。 選取箭形符號 (^) 展開節點。 若要開啟所有節點,請開啟圖形的快捷選單。 選取 [群組], [全部展開]。

    注意事項注意事項
    這個指令在展開所有群組造成圖形無法使用或記憶體問題時將會無效。

圖形上與節點相關的項目

開啟節點的捷徑功能表。 選取 [顯示] 以及您感興趣的關聯性。

對組件而言,選取:

  • 參考組件: 加入此組件參考的組件。 外部組件出現在 [外部] 群組中。

  • 參考組件: 在方案中加此組件參考的組件。

對於類別而言,選取:

  • 基底型別: 對於一個類別,加入基底類別與已實作的介面。

    如果是介面,請加入基底介面。

  • 衍生型別: 若為類別,加入衍生類別。

    若為介面,請加入衍生的介面和實作的類別或結構。

  • 所有基底型別: 以遞迴方式加入基底類別或介面階層架構。

  • 所有衍生型別: 若為類別,以遞迴方式加入所有衍生類別。

    如果是介面,請將所有衍生的介面和遞迴實作類別或結構。

  • 內含項目階層架構: 加入父容器階層架構。

  • 使用的型別: 加入所有此類別使用的類別與它們的成員。

  • 使用者型別: 加入所有使用此類別的類別和它們的成員

對於方法,選取:

  • 內含項目階層架構: 加入父容器階層架構。

  • 被呼叫的方法: 加入此方法呼叫的方法。

  • 呼叫方法: 加入呼叫此方法的方法。

  • 在基底型別已覆寫的方法。: 若為覆寫其他方法或實作一個介面方法的方法,在基底類別中加入所有已覆寫的抽象或虛擬方法,以及已覆寫的介面方法。

  • 參考的欄位: 加入此方法參考的欄位。

如是欄位中,選取:

  • 內含項目階層架構: 加入父容器階層架構。

  • 參考方法: 加入參考此欄位的方法。

已編譯的 .NET 組件 (.dll 或 .exe) 或二進位檔。

使用 [架構總管] 尋找並拖曳和圖形相關聯的項目。

將現有的節點之間的連結

  1. 選取來源節點。

    工具列始在節點上方出現。

    相依性圖形工具列

  2. 在工具列上,選取 [從此節點往所選取的節點建立連結]圖形工具列 - 建立連結 。 選取目標節點。

    連結出現於兩節點之間。

加入註解至圖形中

  1. 選取您想要加入註解的節點。

    工具列始在節點上方出現。

    相依性圖形工具列

  2. 在工具列上,選取 [為所選取的節點加入新的註解]圖形工具列 - 建立具有連結的註解

  3. 輸入您的註解。 若要輸入新的一行,請按 SHIFT + Enter

刪除節點

您可以從圖形刪除節點而不影響底下的程式碼。 若要刪除節點,請選取節點,然後按 刪除 鍵。 當您刪除節點時,其定義從 DGML (.dgml) 檔案中移除。

當您從群組中刪除節點, [重新擷取子系] 按鈕 重新擷取子系圖示 會出現在群組裏。 若要回復不見的節點,請選取 [重新擷取子系]重新擷取子系圖示。 藉由編輯 DGML ,加入未定義的節點,或使用較早版本的 Visual Studio Ultimate ,無法支援此相容性。

警告

在您分享使用 Visual Studio Ultimate 的圖形給 Visual Studio Premium 或 Visual Studio Professional 的使用者之前,請確認您想讓其他人瀏覽的節點在圖形上是可見的。否則,那些使用者將無法取得被刪除的節點。

群組節點

若要

請執行這些步驟

將容器節點顯示為群組節點或葉節點

若要顯示容器節點為葉節點,請選取節點。 開啟您所選項目的捷徑功能表。 選取 [群組], [轉換為葉]。

若要顯示容器節點為群組節點,請選取節點。 開啟您所選項目的捷徑功能表。 選取 [群組], [轉換為群組]。

若要顯示所有葉節點為群組節點,開啟圖形的捷徑功能表。 選取 [群組], [開啟群組]。

若要顯示所有群組節點為葉節點,開啟圖形的捷徑功能表。 選取 [群組], [關閉群組]。

將節點加入至群組

將節點拖曳至群組。

您也可以將節點拖曳至群組之外。

增加一個節點至非群組節點。

您可以將任何節點轉換成群組。 拖曳節點到目標節點上。

群組中選取的節點

  1. 選取您要群組的節點。

    工具列將會出現在節點上方。

    相依性圖形工具列

  2. 在工具列上,選取 群組中選取的節點 圖形工具列 - 選取的群組.

    -或-

    開啟您所選項目的捷徑功能表。 選取 [群組], [加入母群組]。

  3. 開啟新的群組中的捷徑功能表。 選擇 [內容]。 在 [標籤] 屬性中重新命名群組。

群組節點具有特定分類或屬性

  1. 在 [架構] 功能表上,選擇 [Windows], [架構總管]。

  2. 使用 [架構總管] 尋找和選取您要組成群組的所有節點。

    請參閱 使用架構總管尋找程式碼

  3. 在目前資料行的右側,選取摺疊的動作資料行加以展開。 (鍵盤:按 [索引標籤] 移動焦點,直到摺疊的動作資料行展開)。

    注意事項注意事項
    當您移動游標或是焦點在動作資料行最上方時,它將反白顯示,
  4. 按一下動作資料行中的 [由下列包含]。 (鍵盤:按 [索引標籤] 移動焦點然後使用方向鍵,直到 [由下列包含] 關聯性已選取)。

  5. 從下一個資料行拖曳容器群組至圖形。

  6. 開啟圖形的快捷選單。 選取 [群組], [開啟群組]。

根據節點的屬性值組成節點群組

  1. 在磁碟中將圖形儲存為 .dgml 檔案。

  2. 在 [架構] 功能表。 選取 [Windows], [架構總管]。

  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 屬性的詳細資訊,請參閱指派分類給節點和連結。

合併圖形

您可以透過複製和貼上不同圖形的節點來合併圖形。 如果節點識別相符,則貼上節點與合併作業的功能相同。 若要使此工作更加容易,將所有您想要視覺化的組件或二進制檔案放在相同的資料夾內,如此對想要合併的圖形而言,每個組件或二進制檔案的完整路徑均相同。

或者,您可以為組件或二進制檔案建立單一圖形並利用以下步驟之一來視覺化:

  • 將組件或二進位檔拖曳至同一個圖形。

    -或-

  • 開啟 [架構總管] 。 在 [檔案系統] 底下,選取 [選取檔案] 瀏覽,選擇並開啟組件或二進位檔。 若要修改圖形,請選取要視覺化的特定項目。 當您完成時,請選取 [架構總管] 工具列的 [建立由任何所選節點的新的圖形文件] 。

變更圖形的樣式

您可以編輯圖形的 .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 檔案來指定自訂色彩。 請參閱 套用自訂樣式至節點和連結 (Apply Custom Styles to Nodes and Links) 。

例如,您可以選擇色彩來標示具有特定分類或屬性的節點和連結。 這樣就能識別和注意圖形的特定區域。

若要將預先定義的色彩或圖示套用至具有特定分類或屬性的節點

  1. 如果看不到 [圖例] 方塊,請開啟圖形的捷徑功能表。 選取 [顯示圖例] 。

  2. 在 [圖例] 方塊中,查看清單是否包含節點分類或屬性。

  3. 如果清單不包含分類或屬性,請在 [圖例] 方塊裏選擇 [+] , [節點分類] 或 [節點屬性] ,以及其分類或屬性。

    在 [圖例] 方塊中將會出現分類或屬性。

    注意事項注意事項

    若要建立和指派分類給節點,請參閱指派分類給節點和連結。若要建立屬性並指派給節點,請參閱指派屬性給節點和連結。

  4. 在 [圖例] 方塊,在分類或屬性旁開啟下拉式選單。

  5. 使用下表選取您想要變更的樣式:

    若要變更

    Choose

    背景色彩

    背景

    外框色彩

    筆觸

    文字色彩

    Foreground

    圖示

    圖示

    [色彩集選擇器] 方塊顯示供您選取色彩 (或圖示) 。

  6. 在 [色彩集選擇器] 方塊中,選擇下列其中一項:

    若要套用

    請執行這些步驟

    一組色彩 (或圖示

    開啟 [選取色彩。] (或 [圖示]) [設定] 清單。 選取一組色彩 (或圖示) 。

    若要回復預設色彩 (或圖示),請在 [選取色彩] ([選取圖示設定]) [設定] 下拉式清單中按一下 [] 。

    特定色彩 (或圖示)

    開啟分類或屬性值的清單。 選取色彩 (或圖示)。

    注意事項注意事項

    您可以重新整理、刪除或暫時停用 [圖例] 方塊中的樣式。請參閱 修改圖形方塊 。

若要將預先定義的色彩套用至具有特定分類或屬性的連結

  1. 如果看不到 [圖例] 方塊,請開啟圖形的捷徑功能表。 選取 [顯示圖例] 。

  2. 在 [圖例] 方塊中,查看清單是否包含分類或屬性。

  3. 如果清單沒有包含分類或屬性,請選取 [圖例] 方塊裏的 [+] ,[連結分類] 或 [連結屬性] ,以及其分類或屬性。

    在 [圖例] 方塊中將會出現分類或屬性。

    注意事項注意事項

    若要建立分類並指派給連結,請參閱指派分類給節點和連結。若要建立屬性並指派給連結,請參閱指派屬性給節點和連結。

  4. 在 [圖例] 方塊中,開啟分類或屬性旁邊的下拉式清單。

  5. 選取 [線段] 以改變連結的輪廓和箭頭顏色。

    [色彩集選擇器] 方塊會出現供您選擇顏色。

  6. 在 [色彩集選擇器] 方塊中,選擇下列其中一項:

    若要套用

    請執行這些步驟

    一組色彩

    開啟 [選取色彩設定] 清單。 選取一組色彩。

    若要回復預設色彩,請在 [選取色彩設定] 下拉式清單中按一下 []。

    特定色彩

    開啟型別或屬性值清單以選取一個顏色。

    注意事項注意事項

    您可以重新整理、刪除或暫時停用 [圖例] 方塊中的樣式。請參閱 修改圖形方塊 。

Ee842619.collapse_all(zh-tw,VS.110).gif將自訂樣套用至節點和連結

您可以將自訂樣式套用至下列項目:

  • 單一節點和連結

  • 節點和連結的群組

  • 根據特定條件組成的節點和連結群組

若要將自訂樣式套用至單一節點

  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 屬性為 None 並設置 Icon 屬性為圖示檔案的路徑。

    Shape="ShapeFilePathLocation"

    例如:

    <Nodes>
       <Node Id="MyNode" Background="#FF008000" Stroke="#FF000000"
       Foreground="#FFFFFFFF" Icon="...\Icons\Globe.png"/>
    </Nodes>
    

若要將自訂樣式套用至單一連結

  1. 在圖形上,將滑鼠指標移至連結上方。 工具提示隨即出現並識別連結的來源節點和目標節點。 (鍵盤:按 Tab 直到連結取得焦點。)

  2. 開啟圖形的快捷選單。 選取 [移至] 、 [DGML] 。

    Visual Studio 開啟圖形的 .dgml 檔案。

  3. 尋找同時包含來源節點與目標節點名稱的 <Link/> 項目。

  4. 在 <Link/> 項目中,加入下列任何屬性以自訂其樣式:

    若要變更

    請加入下列屬性

    外框和箭頭色彩

    Stroke="ColorNameOrHexadecimalValue"

    外框粗細

    StrokeThickness="StrokeValue"

    外框樣式

    StrokeDashArray="StrokeArrayValues"

    例如:

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

若要將自訂樣式套用至一組節點或連結

  1. 將您想要的任何分類或屬性指派給節點或連結。

    提示

    如果您在許多不同的節點或連結之間使用了重覆的樣式,您可能可以考慮套用一個分類至那些節點或連結上並將該樣式設置予該分類。如需詳細資訊,請參閱指派分類給節點和連結和指派屬性給節點和連結。

  2. 開啟圖形介面的捷徑功能表。 選取 [移至] 、 [DGML] 。

    Visual Studio 開啟圖形的 .dgml 檔案。

  3. 如果 <Styles></Styles> 項目不存在,請在 <Links></Links> 項目之後的 <DirectedGraph></DirectedGraph> 項目底下加入該項目。

  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')"/>
    

    這個運算式會使用下列 Backus-Naur 格式 (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,則根據 Coverage 屬性值,將 Background 屬性設定為深淺程度不同的橙色。

  3. 如果是上述所有條件以外的情況,則根據 Coverage 屬性值,將 Background 屬性設定為深淺程度不同的紅色。

<?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\Module.png" Shape="None" />
   <Category Id="Test" Icon="...\Icons\Page.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>

Ee842619.collapse_all(zh-tw,VS.110).gif修改圖例方塊

您可以重新整理、刪除或暫時停用 [圖例] 方塊中的樣式:

  1. 在 [圖例] 方塊開啟樣式的捷徑功能表。

  2. 請執行下列其中一項工作:

    若要

    Choose

    將樣式向上移動

    上移

    將項目向下移動

    下移

    刪除項目

    刪除

    停用項目

    停用

    重新啟動項目

    啟用

將樣式從一個圖形複製到另一個圖形

  1. 確保 [圖例] 方塊出現於來源圖形上。 如果看不到,請在來源圖形的空白區域開啟捷徑功能表。 選取 [顯示圖例] 。

  2. 開啟 [圖例] 方塊的捷徑功能表。 選取 [複製圖例] 。

  3. 貼上圖例至目標圖表中。

指派屬性給節點和連結

您可以指派屬性給節點和連結,將它們組織起來。 例如,您可以選取具有特定屬性的節點,以便組成群組、變更樣式或隱藏節點。

若要將屬性指派給節點

  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. 在圖形上,將滑鼠指標移至連結上方。 工具提示隨即出現並識別連結的來源節點和目標節點。 (鍵盤: 按 Tab ,直到連結取得焦點。)

  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>
    

指派分類給節點和連結

您可以指派分類給節點,將它們組織起來。 例如,您可以選取屬於特定分類的節點,以便組成群組、變更樣式或隱藏節點。 您可以反白顯示具有特定分類的連結。 如需詳細資訊,請參閱下列章節:

  • 群組節點

  • 變更節點和連結的樣式

  • 隱藏或顯示節點

若要將分類指派給節點

  • 若要指派預先定義的分類,例如 [分類 1],開啟節點的捷徑功能表。 選取 [分類] 和預先定義的分類。

-或-

  • 若要建立和指派自訂分類:

    • 選取要分類的節點。 按 F4 開啟 屬性 視窗。 輸入節點的 [新增分類] 屬性的分類名稱。 請按 ENTER 鍵。

    -或-

    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. 在此圖形上,將滑鼠指標移至連結上方,以顯示工具提示並識別連結的來源節點和目標節點。 (鍵盤: 按 Tab ,直到連結取得焦點。)

  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 屬性繼承了 MyParentCategory 的 Background 屬性。

將項目連結至節點或連結

您可以將文件或 URL 等項目,透過編輯圖形的 .dgml 檔案並加入 Reference 屬性至節點的 <Node/> 元素或連結的 <Link/> 元素以連結至節點或連結。 然後您就由節點或連結開啟或檢視這些內容。 Reference 屬性會指定該內容的路徑。 此路徑可以是相對於 .dgml 檔案位置的路徑,或是絕對路徑。

警告

如果您使用相對路徑,而且 .dgml 檔案被移動到不同的位置,那麼這個位置不會再被解析。當您嘗試開啟並檢視連結的內容,會發生表示內容無法被檢視的錯誤訊息。

例如,您可能會想要連結下列項目:

  • 為了描述類別的變更,您可能會將工作項目、文件或其他 .dgml 檔的 URL 連結到類別的節點。

  • 您可能會將圖層圖表連結到代表軟體邏輯架構中之圖層的群組節點。

  • 為了顯示會公開介面之元件的詳細資訊,您可能會將元件圖表連結到該介面的節點。

  • 連結節點至 Team Foundation Server 工作項目或臭蟲,或一些其他有關節點的資訊。

若要將項目連結到節點

  1. 在圖形上,開啟節點的捷徑功能表。 選取 [移至] 、 [DGML] 。

    Visual Studio 開啟圖形的 .dgml 檔案並反白顯示<Node/> 該節點的項目。

  2. 執行下表的其中一項工作:

    若要連結

    請執行這些步驟

    單一項目

    • 在 <Node/> 或 <Link/> 項目加入 Reference 屬性以指定項目的位置。

      注意事項注意事項
      每個元素只能有一個 Reference 屬性。

    例如:

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

    多個項目

    1. 在 <Node/> 或 <Link/> 元素,加入新的屬性以指定每個參考的位置。

    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>

了解有向圖形標記語言 (DGML)

DGML 使用簡單的 XML 來描述循環與非循環的有向圖形。 有向圖形是一組用連結或邊緣相連的節點。 節點和連結可用來表示網路結構,例如軟體專案中的項目。 使用 DGML 可將資訊視覺化、執行複雜性分析,或單純瀏覽及編輯有向圖形。

節點和連結都稱為圖形項目,或簡稱項目。 下表說明 DGML 中所使用的項目類型:

注意事項注意事項

當您編輯 .dgml 檔案時,IntelliSense 會協助您識別每個項目的可用屬性和其值。若要以屬性指定色彩,請使用常見色彩名稱 (例如 "Blue") 或 ARGB 十六進位值 (例如 "#ffa0b1c3")。DGML 使用一小部分的 Windows Presentation Foundation (WPF) 色彩定義格式。如需詳細資訊,請參閱色彩類別 (英文)。

元素

範例格式

<DirectedGraph></DirectedGraph>

這個項目是有向圖形 (.dgml) 文件的根項目。 其他所有 DGML 項目都會出現在這個項目的範圍內。

下列清單說明您可以加入的選擇性屬性:

  • Background - 圖形背景的色彩

  • BackgroundImage - 要做為圖形背景之影像檔的位置。

  • 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 - 節點的顯示名稱

  • 樣式屬性。 請參閱 套用自訂樣式至節點和連結 (Apply Custom Styles to Nodes and Links) 。

  • Category - 分類的名稱,這個分類識別共用此屬性的項目。 如需詳細資訊,請參閱 <Category/> 項目。

  • Property - 屬性的名稱,這個屬性識別具有相同屬性值的項目。 如需詳細資訊,請參閱 <Property/> 項目。

  • Group - 如果節點中包含其他節點,請將此屬性設定為 Expanded 或 Collapsed,以顯示或隱藏其內容。 此時必須要有 <Link/> 項目,用以加入 Category="Contains" 屬性,以及將父節點指定為來源節點,將子節點指定為目標節點。 謮參閱 組織節點至群組 (Organize Nodes into Groups) 。

  • Visibility - 請將此屬性設為 Visible、Hidden 或 Collapsed。 使用System.Windows.Visibility。 請參閱 隱藏或顯示節點 (Hide or Show Nodes) 。

  • Reference - 請將此屬性設為連結到文件或 URL。 請參閱 連結項目至節點 (Link Items to Nodes) 。

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml">
   <Nodes>
      <Node Id="Driver" Label="Student" Category="Person" />
      <Node Id="Passenger" Label="Instructor" Category="Person" />
      <Node Id="Car" Label="Car" Category="Automobile" />
      <Node Id="Truck" Label="Truck" Category="Automobile" />
   </Nodes>
   <Links>
      <Link ... />
   </Links>
   <Categories>
      <Category Id="Person" Background="Orange" />
      <Category Id="Automobile" Background="Yellow"/>
   </Categories>
</DirectedGraph>

<Links></Links>

這個項目包含 <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 - 連結的顯示名稱

  • 樣式屬性。 請參閱 套用自訂樣式至節點和連結 (Apply Custom Styles to Nodes and Links) 。

  • 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 屬性。 請參閱 指定節點和連結的分類 (Assign Categories to Nodes and Links) 的 「建立階層架構分類」。

分類也提供一些基本的範本行為,用以控制節點和連結顯示於圖形時的外觀。 請參閱 套用自訂樣式至節點和連結 (Apply Custom Styles to Nodes and 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>

這個項目包含 <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 屬性 (Attribute),供您指派值給任何 DGML 項目或屬性 (Attribute),包括分類和其他屬性 (Property) 在內。

這個項目必須包括下列屬性:

  • Id - 屬性 (Property) 的唯一名稱以及 Label 屬性 (Attribute) 的預設值 (如果未指定個別的 Label 屬性 (Attribute))。

  • DataType - 屬性所儲存的資料型別

如果您要讓屬性出現在 [屬性] 視窗中,請使用 Label 屬性指定該屬性的顯示名稱。

請參閱 指定節點和連結的屬性 (Assign Properties to Nodes and 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>

請參閱

概念

根據相依性圖形顯現程式碼相依性

瀏覽和重新排列相依性圖形