一区二区久久-一区二区三区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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久精品视频一区 | 无遮挡一级毛片性视频不卡 | 中国欧美日韩一区二区三区 | 日本高清加勒比 | 99在线观看巨臀大臀视频 | 国产妇乱子伦视频免费 | 久久香蕉热 | 亚洲人成伊人成综合网久久久 | 国产 麻豆 | 国产1区2区3区在线观看 | 色哟哟精品视频在线观看 | 亚洲精品第一页 | 午夜一级做a爰片久久毛片 午夜影院日韩 | 精品国产夜色在线 | 欧美精品日韩一区二区三区 | 日韩天天摸天天澡天天爽视频 | 四虎现在的网址入口2022 | 亚洲综合图片小说区热久久 | 手机在线看黄 | 国产精品天天影视久久综合网 | 综合免费一区二区三区 | 狠狠亚洲 | 欧美ol丝袜高跟秘书在线观看 | 91福利国产在线观看网站 | 国产精品一区二区免费 | 综合色影院| 欧美色人| 国产高清一区二区三区视频 | 国农村精品国产自线拍 | 国产精品久久网 | 亚洲国产天堂久久综合图区 | 最新国产福利在线观看 | 亚洲伦理一区二区 | 亚洲精品中文字幕午夜 | 91精品国产麻豆国产自产在线 | 成年网站在线 | 久草色在线 | 精品福利一区二区免费视频 | 日韩欧美一二区 | 久久综合久久鬼 | 国产成人精品亚洲一区 |