Share via


編輯和自訂相依性圖形

您可以編輯相依性圖形,而不會影響基礎程式碼。 這在您想專注在主要項目或交換關於程式碼的想法時會很有用。 例如,若要反白顯示感興趣的區域,您可以選取節點並加以篩選,變更節點和連結的樣式,隱藏或刪除節點,以及使用屬性、分類或群組來組織節點。

您還可以透過編輯圖形的定向圖表標記語言 (.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. 開啟圖形的捷徑功能表。 選擇 [Goto]、[DGML]。

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

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

    Visibility="Hidden"

    例如:

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

若要顯示或隱藏連結

轉換為

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

永遠顯示跨群組連結

顯示所有跨群組連結

如此會隱藏群組之間的彙總連結。

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

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

永遠隱藏跨群組連結

隱藏跨群組連結

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

隱藏所有連結

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

加入節點或連結

加入新的未定義節點

請執行這些步驟

在目前的指標位置

選取要在圖形上放置新節點的位置。 按 [插入]。

將連結至所選節點

  1. 選取來源節點。

    工具列開始顯示在節點上方。

    相依性圖形工具列

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

  3. 選擇在圖形上放置新節點的位置。

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

會連結至具有目前焦點的現有節點

Tab 直到您想要連結的節點已經取得焦點。 按 Alt+Shift+Insert

若要加入節點,對於

請執行這些步驟

方案中的項目

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

    提示

    若要尋找與某類型或成員具有相依性的項目,請在 [方案總管] 中開啟該類型或成員的捷徑功能表。選擇您感興趣的關聯性。

    [方案總管] 只顯示與指定的相依性有關的項目。

  2. 將您感興趣的項目拖曳至圖形介面。

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

    -或-

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

    Visual Studio 會將最上層程式碼項目的節點加入至您的選取範圍。 若要檢視節點是否包含項目,請將滑鼠指標移到節點上方以使 (^) 形箭號出現。 選擇 (^) 形箭號以展開節點。 若要展開所有節點,請開啟圖形的捷徑功能表。 選擇 [群組]、[全部展開]。

    注意事項注意事項

    這個命令在展開所有群組時無法使用,會將造成圖形無法使用或記憶體問題。

圖形上與節點相關的項目

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

對於組件,選擇:

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

  • 參考組件:將組件加入參考此組件的方案。

對於類別,選擇:

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

    對於介面,加入基底介面。

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

    對於介面,加入衍生介面和實作類別或結構。

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

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

    對於介面,以遞迴方式加入所有衍生介面和實作類別或結構。

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

  • 使用的類型:加入所有此類別使用的類別和其成員。

  • Used-By 類型:加入所有使用此類別的類別和其成員

對於方法,選擇:

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

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

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

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

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

對於欄位,選擇:

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

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

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

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

在現有的節點之間加入連結

  1. 選取來源節點。

    工具列開始顯示在節點上方。

    相依性圖形工具列

  2. 在工具列上,選擇 [建立從這個節點至您接下來所按一下的任何節點之新連結]圖形工具列 - 建立連結。 選取目標節點。

    連結出現在兩個節點之間。

加入註解至圖形中

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

    工具列開始顯示在節點上方。

    相依性圖形工具列

  2. 在工具列上,選擇 [建立新註解節點,使其具有與選取節點之新連結]圖形工具列 - 建立具有連結的註解

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

刪除節點

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

當您從群組中刪除節點,[重新擷取子系] 按鈕 重新擷取子系圖示 會出現在群組中。 若要擷取遺失的節點,請選擇 [重新擷取子系]重新擷取子系圖示。 藉由編輯 DGML,加入未定義的節點,或使用較早版本的 Visual Studio Ultimate 所建立的圖形不支援此功能。

警告

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

群組節點

轉換為

請執行這些步驟

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

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

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

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

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

將節點加入至群組

將節點拖曳至群組。

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

加入節點至非群組節點。

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

群組選取的節點

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

    工具列開始顯示在節點上方。

    相依性圖形工具列

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

    -或-

    開啟您所選項目的捷徑功能表。 選擇 [群組]、[加入父群組]。

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

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

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

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

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

  3. 在目前資料行的右側,選擇摺疊的動作資料行加以展開 (鍵盤:按 Tab 以移動焦點,直到摺疊的動作資料行展開)。

    注意事項注意事項

    當您移動指標或是焦點在動作資料行最上方時,將會反白顯示,

  4. 按一下動作資料行中的 [由下列包含]。(鍵盤:按 Tab 移動焦點,然後使用方向鍵,直到選取 [由下列包含] 關聯性)。

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

  6. 開啟圖形的捷徑功能表。 選擇 [群組]、[開啟群組]。

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

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

  2. 在 [架構] 功能表。 選擇 [Windows]、[架構總管]。

  3. 在 [架構總管] 中的 [檔案系統] 底下,選擇 [選取檔案]。

  4. 在下一個資料行中,選取您儲存的 .dgml 檔案。

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

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

  6. 在目前資料行的右側,選擇摺疊的動作資料行加以展開 (鍵盤:按 Tab 以移動焦點,直到摺疊的動作資料行展開)。

    注意事項注意事項

    當您將指標移至動作資料行上方時,就會反白顯示。

  7. 在動作資料行的 [群組] 下,選擇 [依屬性群組] (鍵盤:按 Tab 移動焦點,然後使用方向鍵,直到選取 [依屬性群組] 命令)。

  8. 在下一個資料行中,選取要用來組成群組的屬性。

    下一個資料行隨即出現並顯示可用的屬性值。

  9. 從下一個資料行拖曳屬性值群組至圖形。

  10. 開啟圖形介面的捷徑功能表。 選擇 [群組]、[開啟群組]。

移除群組

選取您要移除的群組。 開啟您所選項目的捷徑功能表。 選擇 [群組]、[移除群組]。

從節點的父群組至上一層父群組 (如果沒有上一層父群組,則是群組外部) 移除節點

選取您要移動的節點。 開啟您所選項目的捷徑功能表。 選擇 [群組]、[從父代移除]。

藉由編輯圖形的 .dgml 檔案群組節點

  1. 若要將節點轉換為群組,請開啟節點的捷徑功能表。 選擇 [Goto]、[DGML]。

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

    -或-

    若要加入新群組:

    1. 在圖形的空白區域開啟捷徑功能表。 選擇 [Goto]、[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. 從圖形介面開啟捷徑功能表。 選擇 [Goto]、[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. 使用下表選取您想要變更的樣式:

    若要變更

    Choose

    背景色彩

    背景

    外框色彩

    筆觸

    文字色彩

    前景

    圖示

    圖示

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

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

    若要套用

    請執行這些步驟

    一組色彩 (或圖示)

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

    若要還原預設色彩 (或圖示),請在 [選取色彩設定] ([選取圖示設定]) 清單中選擇 []。

    特定色彩 (或圖示)

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

    注意事項注意事項

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

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

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

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

  3. 如果清單沒有包含類別或屬性,請選擇 [圖例] 方塊中的 [+]、[連結類別] 或 [連結屬性],以及類別或屬性。

    [圖例] 方塊中現在會顯示類別或屬性。

    注意事項注意事項

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

  4. 在 [圖例] 方塊中,開啟類別或屬性旁的清單。

  5. 選取 [筆觸] 以變更連結的外框和箭頭顏色。

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

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

    若要套用

    請執行這些步驟

    一組色彩

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

    若要回復預設色彩,請在 [選取色彩設定] 清單中選擇 []。

    特定色彩

    開啟類型或屬性值清單以選取色彩。

    注意事項注意事項

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

將自訂樣套用至節點和連結

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

  • 單一節點和連結

  • 節點和連結的群組

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

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

  1. 開啟您想要自訂其樣式之節點的捷徑功能表。 選擇 [Goto]、[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. 開啟圖形的捷徑功能表。 選擇 [Goto]、[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. 開啟圖形介面的捷徑功能表。 選擇 [Goto]、[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,則根據 Background 屬性值,將 Coverage 屬性設定為深淺程度不同的橙色。

  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>

修改圖例方塊

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

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

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

    轉換為

    Choose

    將樣式向上移動

    上移

    將項目向下移動

    下移

    刪除項目

    刪除

    停用項目

    停用

    重新啟用項目

    啟用

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

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

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

  3. 將圖例貼到目標圖形。

指派屬性給節點和連結

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

若要將屬性指派給節點

  1. 開啟節點的捷徑功能表。 選擇 [Goto]、[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. 開啟圖形的捷徑功能表。 選擇 [Goto]、[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. 開啟節點的捷徑功能表。 選擇 [Goto]、[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. 開啟圖形的捷徑功能表。 選擇 [Goto]、[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 屬性。

將項目連結至節點或連結

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

警告

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

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

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

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

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

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

若要將項目連結到節點

  1. 在圖形上,開啟節點的捷徑功能表。 選擇 [Goto]、[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,讓參考出現在項目的 [Goto] 捷徑功能表。

      4. 使用 Label 屬性來指定要顯示在項目的 [Goto] 捷徑功能表上的文字。

    例如:

    <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>
    顯示在圖形中的節點名稱會加上底線。 當您開啟節點或連結的捷徑功能表,您會看到包含連結項目的 \[**Goto**\] 捷徑功能表供您選擇。
    1. 使用 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>
      
    2. 若要從圖形檢視參考的項目,請開啟節點或連結的捷徑功能表。 選擇 [Goto] 以及項目。

    建立常用路徑的別名

    以別名取代常用路徑,有助於縮減 .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) 之遠的連結。 請參閱 瀏覽和重新排列相依性圖形

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

    <Nodes></Nodes>

    此選擇性項目包含 <Node/> 項目的清單,用以定義圖形上的節點。 如需詳細資訊,請參閱 <Node/> 項目。

    注意事項注意事項

    當您在 <Link/> 項目中參考未定義的節點時,圖形會自動建立 <Node/> 項目。

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

    <Node/>

    這個項目會定義單一節點。 它會出現在 <Nodes><Nodes/> 項目清單內。

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

    • Id - 節點的唯一名稱以及 Label 屬性的預設值 (如果未指定個別的 Label 屬性)。 此名稱必須符合參考該節點之連結的 Source 或 Target 屬性。

    下列清單會描述一些您可以加入的選擇性屬性:

    • Label - 節點的顯示名稱

    • 樣式屬性。 請參閱 將自訂樣式套用至節點和連結。

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

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

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

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

    • Reference - 請將此屬性設為連結到文件或 URL。 請參閱將項目連結到節點。

    <?xml version="1.0" encoding="utf-8"?>
    <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml">
       <Nodes>
          <Node Id="Driver" Label="Student" Category="Person" />
          <Node Id="Passenger" Label="Instructor" Category="Person" />
          <Node Id="Car" Label="Car" Category="Automobile" />
          <Node Id="Truck" Label="Truck" 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 - 連結的顯示名稱

    • 樣式屬性。 請參閱 將自訂樣式套用至節點和連結。

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

    這個項目定義 Property 屬性 (Attribute),供您指派值給任何 DGML 項目或屬性 (Attribute),包括分類和其他屬性 (Property) 在內。

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

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

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

    請參閱

    概念

    對應相依性圖形上整個程式碼的相依性

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