我有一个定义良好的树存储库。我可以在哪里重命名项目,将它们向上,向下移动等。添加新的和删除。WPF树数据绑定模型和存储库
的数据被存储在一个表,如下所示:
Index Parent Label Left Right
1 0 root 1 14
2 1 food 2 7
3 2 cake 3 4
4 2 pie 5 6
5 1 flowers 8 13
6 5 roses 9 10
7 5 violets 11 12
代表下面的树:
(1) root (14)
(2) food (7) (8) flowers (13)
(3) cake (4) (5) pie (6) (9) roeses (10) (11) violets (12)
,并直观地显示如下:
root
food
cake
pie
flowers
roses
violets
现在,我的问题是如何以一种可绑定的方式表示这一点,以便TreeView可以处理所有可能的数据更改? 重命名很简单,我所需要的只是使标签成为可更新的字段。但是如果用户将鲜花移到食物上方呢?我可以对相关数据进行更改,但会导致树中所有其他项的完整数据更改。而且我发现的可绑定层次结构的所有示例都适用于非静态树。
所以我当前的(和坏的)解决方案是在重定位更改后重新加载显示的树。
任何方向都不错。
感谢
不错的控制,但这是一个开源项目。所以我不能使用它 – Amirshk 2010-05-30 14:00:48