如何在.NET中创建基于思维导图的基于树视图窗口的应用程序

时间:2011-12-21 06:38:00

标签: .net wpf user-controls treeview mindmapping

我正在寻找为我的.NET Windows应用程序(WPF)创建一个直观的树视图结构(在Mind-map的类似行上)。

thisthis

类似的内容

我最初计划开发一个示例应用程序,其中我的应用程序只读取底层结构化XML以创建像可视化这样的思维导图并将其显示给用户。用户可以选择任何显示的树节点。如果节点具有子节点,则当用户单击相应的父节点时,将显示该节点。

要实现这一点,我需要提前或正确的方向帮助开始。非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我之前在WPF中已经完成了一个网络地图但不是思维导图。这并不容易,需要几页才能解释每一步。所以我在下面快速启动了我如何完成我的网络地图。除了节点和节点连接器的布局和可视化表示之外,我认为不会有太大的区别。

首先要开始的是你的收藏。 MSDN有一个杀手定向图集合:http://msdn.microsoft.com/en-us/library/ms379574(v=vs.80).aspx

收集建立后,您需要扩展Panel类,以便它可以为您执行布局。我不知道任何现有的思维导图布局面板,但这里是径向面板布局的链接:http://msdn.microsoft.com/en-us/library/ms771363(v=vs.90).aspx。它应该显示将事物放入自定义布局所需的步骤。

您还需要一种可视化表示有向图节点的方法。关于WPF的好处是你可以创建自己的UserControls,如果你的面板被创建为正确布局,它将执行你的自定义控件的所有布局工作。我的网络地图只是一个以椭圆为背景的UserControl,被抛入径向面板。

最后一步是检查图表集合并在连接的节点之间绘制连接器的能力。在我的有向图集合中,我添加了一个名为Tag的对象属性,并存储了该节点的UserControl版本。这样我就知道连接的UserControls的坐标,我可以用PolyLine连接它们。我认为你的不同之处在于你希望你的连接器是Image。

这是快速版本。我想在这里发布更多的源代码,但是我为了工作而写了它们,它们会杀了我。