如何动态地填充容器?比如说用小圆圈递归地填充大圆圈,只要填满空间即可。
我想将其用于数据层次结构显示。
为了让它更清晰:
请参考以下图片:
我想将其用于数据层次结构显示。
为了让它更清晰:
请参考以下图片:
如果您想要现成的东西,请看一下Graph#
http://graphsharp.codeplex.com/
视频在这里:
它可以进行动态图布局,而且非常容易使用。你可以选择不同的布局算法[参见样例应用程序],每个算法都是可配置的。
然而,直到填充到“满”为止并不是一件轻松的事。尽管你可以创建一个图形,对其进行布局,然后测量顶点的大小与整个图形的大小之间的比例,然后添加或删除顶点,直到达到所需的密度。我敢说,你可以通过试错很快地得出一个快速而简单的公式,来计算需要添加的顶点数量与要填充的画布大小之间的关系。
请注意,您可以轻松地自定义顶点模板以成为任何类型的数据[这是标准wpf,但Graph#特定示例可以在http://graphsharp.codeplex.com/discussions中找到]。
FrameworkElement
派生,重写OnRender()
、MeasureOverride()
和ArrangeOverride()
方法。 - Mykola Bohdiuk