一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Silverlight中使用遞歸構(gòu)造關(guān)系圖

  這兩天遇到一個(gè)問(wèn)題,項(xiàng)目中需要在silverlight中使用連接圖的方式來(lái)顯示任務(wù)之間的關(guān)系,總體有父子和平行兩種,昨天在改同事的代碼,一直出問(wèn)題,索性晚上寫了一下實(shí)現(xiàn)方法。

  需求

  有一個(gè)List對(duì)象中存了若干個(gè)Task,這些Task對(duì)象通過(guò)ParentID屬性進(jìn)行關(guān)聯(lián),現(xiàn)在要求將這個(gè)List中的任務(wù)使用圖的方式形成如父子關(guān)系和平行關(guān)系的圖示例如下圖:

image

  實(shí)現(xiàn)方法思考

  剛開始接到這個(gè)任務(wù)我就想著遞歸應(yīng)該可以搞定了,但是仔細(xì)考慮才發(fā)現(xiàn)每個(gè)任務(wù)的子任務(wù)需要在一定區(qū)域內(nèi)才行,需要計(jì)算子級(jí)和子級(jí)之間的距離,如果使用遞歸,例如上圖的元素“12”的位置就沒(méi)有辦法很好確定了。

  我決定將途中的節(jié)點(diǎn)抽象為一個(gè)類,這個(gè)類至少應(yīng)該含有上邊界top,左邊屆left及節(jié)點(diǎn)的名稱等屬性,然后從這個(gè)List對(duì)象中構(gòu)造出每個(gè)節(jié)點(diǎn)的屬性。

  實(shí)現(xiàn)步驟

  1,首先我們?yōu)閳D模擬一個(gè)數(shù)據(jù)源,注意其中的任務(wù)是通過(guò)ParentID關(guān)聯(lián)的。

代碼private static List<Task> listTask; 
        
public MainPage() 
        { 
            InitializeComponent(); 
            listTask 
= new List<Task>(); 
            listTask.Add(
new Task() { ID = 1, ParentID = 0, Name = "1" }); 
            listTask.Add(
new Task() { ID = 2, ParentID = 1, Name = "11" }); 
            listTask.Add(
new Task() { ID = 3, ParentID = 1, Name = "12" }); 
            listTask.Add(
new Task() { ID = 4, ParentID = 2, Name = "21" }); 
            listTask.Add(
new Task() { ID = 5, ParentID = 2, Name = "22" }); 
            listTask.Add(
new Task() { ID = 6, ParentID = 3, Name = "31" }); 
            listTask.Add(
new Task() { ID = 7, ParentID = 3, Name = "32" }); 
            listTask.Add(
new Task() { ID = 8, ParentID = 3, Name = "33" }); 
            listTask.Add(
new Task() { ID = 9, ParentID = 4, Name = "42" }); 
            listTask.Add(
new Task() { ID = 10, ParentID =4, Name = "42" }); 
            listTask.Add(
new Task() { ID = 11, ParentID =3, Name = "34" }); 
            listTask.Add(
new Task() { ID = 12, ParentID = 5, Name = "51" }); 
            listTask.Add(
new Task() { ID = 13, ParentID = 8, Name = "81" }); 
            
this.Loaded += new RoutedEventHandler(MainPage_Loaded); 
        }

NET技術(shù)Silverlight中使用遞歸構(gòu)造關(guān)系圖,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 都市激情一区 | 国产福利91精品一区二区三区 | 婷婷激情丁香 | 国产永久视频 | 日本理论午夜中文字幕第一页 | 精品在线观看免费 | 日本美女视频韩国视频网站免费 | 久久亚洲欧美日本精品品 | 91在线网址| 亚洲小视频 | 露脸一二三区国语对白 | 一级做a爰片性色毛片男 | 亚洲日本香蕉 | 国产成人精品免费视频大全可播放的 | 久久韩国精品韩国专区 | 亚洲国产成人久久精品动漫 | 一区一区三区产品乱码 | 国产精品极品美女自在线 | 性感美女一级毛片 | 国产一区二 | 亚州毛色毛片免费观看 | 视频在线观看91 | 国产播放器一区 | 婷婷色影院 | 激情网站免费看 | a毛片全部播放免费视频完整18 | 香蕉成人啪国产精品视频综合网 | 久久亚洲网站 | 亚洲免费网站 | 91频视| 亚洲精品中文字幕午夜 | 国产性生大片免费观看性 | 99久久精品费精品国产 | 女人洗澡一级特黄毛片 | 色老板在线免费 | 一级做性色a爱片久久片 | 韩国精品一区二区三区 | 另类视频综合 | 97碰公开在线观看免费视频 | 一男一女一级毛片 | 成人免费一区二区三区 |