翻譯|使用教程|編輯:王香|2019-02-12 09:19:29.000|閱讀 615 次
概述:在本文中,我們將使用WPF Diagram組件來構建魚骨圖,如下面引用的維基百科“Ishikawa圖”文章中所述。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在本文中,我們將使用WPF Diagram組件來構建魚骨圖,如下面引用的維基百科“Ishikawa圖”文章中所述:
“Ishikawa圖表(也稱為魚骨圖,人字形圖,因果圖或Fishikawa)是Kaoru Ishikawa創建的因果圖,顯示了特定事件的原因。
Ishikawa圖的常見用途是產品設計和質量缺陷預防,以確定導致整體效果的潛在因素。不完美的每個原因或原因都是變異的來源。原因通常分為主要類別,以識別和分類這些變異來源。
本教程將演示使用WPF圖庫創建相同的圖表并編寫幾行代碼是多么容易。這是最終的圖表:
帶有MindFusion WPF圖庫的WPF中的Ishikawa(魚骨)圖
我們在Visual Studio中創建一個名為“Fishbone”的空WPF項目。在那里我們創建一個Assemblies文件夾,我們放置必要的dll-s:
然后在MainWindow.xaml文件中,我們創建一個映射到Diagramming命名空間:
<Window x:Class="Fishbone.MainWindow" xmlns=
然后我們在默認的Grid WPF控件中創建圖表:
<Grid> <diag:FishboneDiagram x:Name = “fdiag” /> </ Grid>
該代碼創建了一個名為“fdiag” 的FishboneDiagram *類的新實例。我們可以使用此名稱來訪問代碼中的對象。
FishboneDiagram類公開了一個ItemsSource屬性,該屬性為圖提供數據。數據是一個對象,包含主要子句的標簽和包含子條款標簽的列表。我們創建了一個名為FBClause的特殊類,它將代表每個魚骨:
public class FBCause { public FBCause() { SubCauses = new List(); } public string Label { get; set; }
接下來,我們以這種方式創建必要的魚骨:
var c1 = new FBCause { Label = "Measurements" }; c1.SubCauses = new
完成所有魚骨之后,我們創建模型,它將作為fdiag對象的數據源:
var model = new List { c1, c2, c3, c4, c5, c6 };
現在數據已準備就緒,我們可以將它分配給FishboneDiagram類的ItemsSource屬性:
fdiag.ItemsSource = model;
我們將使用LabelPath和SubCausesPath屬性將FBClause對象的相應字段綁定到FishboneDiagram的正確數據屬性:
fdiag.LabelPath
如果您的模型的子條款是對象而不是我們的FBClause類中的字符串,則應使用SubLabelPath屬性來設置將為子條款標簽提供數據的字段的名稱。
最后,我們調用圖的ResizeToFitItems方法來確保所有魚骨都可見:
fdiag.ResizeToFitItems(30);
編譯并運行樣本,您將看到完美的魚骨圖。您可以從此鏈接下載示例以及所有必需的dll-s:
* FishboneDiagram類將與WPF Diagram Tool的下一版本正式發布。 關于WPF的圖表:這是在WPF中創建始終滿足您要求的流程圖的正確工具。該庫提供100多個預定義的節點形狀,廣泛的事件集和超過15個出口商和進口商。您構建的每個圖表都具有完全可自定義的流程圖的每個部分的樣式,主題和外觀屬性外觀。眾多示例和詳細文檔可幫助您快速了解如何將組件集成到您自己的應用程序中。
購買Mindfusion正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn