2011-12-21 93 views
0

我正在为.NET Windows应用程序创建直观的树视图结构(在思维导图的类似行上) WPF)。如何在.NET中创建基于思维导图的基于树视图的窗口应用程序

东西就类似线作为thisthis

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

为了达到这个目标,我需要一个正确的方向或帮助开始。任何帮助深表感谢

+0

您可以使用商业图书馆吗?如果是这样看看http://www.nwoods.com/components/silverlight-wpf/goxam-overview.htm – Josh 2011-12-21 14:06:28

+0

嗨乔希..感谢您的意见。我绝对可以使用市售的替代品,但我更感兴趣开发相同,所以我需要在“从哪里开始......”等方向上进行一些输入。 – 2011-12-22 08:22:03

回答

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的美妙之处在于您可以创建自己的UserControl,并且如果您的面板创建为正确布局,它将执行您的自定义控件的所有布局工作。我的网络地图只是一个以椭圆为背景的用户控件,被引入到一个径向面板中。

最后一步是检查图形集合并绘制连接节点之间的连接器。在我的有向图集合中,我添加了一个名为Tag的对象类型属性,并存储了节点的UserControl版本。这样我知道连接的用户控件的坐标,我可以将它们与PolyLine连接起来。我认为你的区别是你会想要你的连接器为图像。

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

+0

您最后一句话听起来很有趣:-)您可以粗略估算一下构建简单原型所需的努力吗? – 2014-07-14 09:08:08

相关问题