我正在编写一个 Silverlight 应用程序,该应用程序查询 Web 服务以填充树控件。每个元素将至少有 2 级子级,因此如下所示:
a
+-b
+-c
d
+-g
+-h
e
+-i
+-j
f
+-k
+-l
Web服务API是这样的,我一次只能得到一个级别的子节点,所以第一次旅行,我可以得到a,d,e,f。要获得 b,g,i,k,我必须进行 4 次旅行。同样,我必须再进行 4 次旅行才能获得 c、h、j、l。(该服务实际上允许我在一次旅行中获取所有节点,但它并没有给我提供父子关系:-()
我的问题是:我应该让用户在获取树视图的所有节点时提前等待一段时间,还是应该只获取前几个节点,然后按需获取其他节点,或者在后台获取任务?此外,节点可以异步更改,所以如果我提前获取所有节点,我需要一个树视图的“刷新”按钮,如果我按需执行,我将必须有一个缓存策略。
哪个最适合用户?