3

如何动态填充容器?假设递归地用小圆圈填充一个大圆圈。把空间填满就好了。

我想用它来显示数据层次结构。

说清楚:

替代文字

4

1 回答 1

1

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

http://graphsharp.codeplex.com/

这里的视频:

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

然而,填充直到一个区域“满”并不是开箱即用的东西。尽管您可以例如创建一个图形,将其布置并测量顶点大小与整个图形大小之间的比率,然后添加或删除顶点,直到达到所需的密度。我敢冒险,你可以通过反复试验很快地在要填充的画布大小和你应该添加的顶点数量之间找到一个快速而肮脏的论坛。

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

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

希望能有所帮助

于 2010-12-23T22:27:02.220 回答