WPF - 动态重新排列控制层次结构

时间:2010-12-23 20:56:26

标签: c# wpf wpf-controls graph-algorithm

如何动态填充容器?让我们说用递归的方式用小圆圈填充一个大圆圈。只需填好空间。

我想用它来进行数据层次显示。

说清楚:

alt text

1 个答案:

答案 0 :(得分:1)

如果您想要现成的东西,请查看Graph#

http://graphsharp.codeplex.com/

视频:

它具有动态图形布局,并且相当容易使用。可以选择布局算法[参见示例应用程序],每种算法都是可配置的。

然而,填充直到一个区域“满”并不是开箱即用的东西。虽然你可以创建一个图表,但是可以将它放在一边。然后测量顶点大小与整个图形大小之间的比率,然后添加或删除顶点,直到达到所需的密度。我会冒险你可以很快通过试验和错误想出一个快速和脏的论坛之间的帆布尺寸填充&am​​p;你应该添加的顶点数。

请注意,您可以很容易地自定义顶点模板以作为任何类型的数据[这是标准的wpf,但可以在http://graphsharp.codeplex.com/discussions上找到Graph#特定示例]

如果您想编写自己的布局代码,可能需要查看一些Graph#use ...的技术,例如动态缩放组件,其源代码可在此处获取:http://wpfextensions.codeplex.com/

希望有所帮助