我正在为我的 .NET Windows 应用程序 (WPF) 创建一个直观的树视图结构(在思维导图的类似行上)。
我最初计划开发一个示例应用程序,其中我的应用程序只是读取底层结构化 XML 以创建类似于可视化的思维导图并将其显示给用户。用户可以选择任何显示的树节点。如果该节点有子节点,当用户点击相应的父节点时会显示。
为了实现这一点,我需要一开始就在正确的方向上抬头或帮助。任何帮助都深表感谢
我正在为我的 .NET Windows 应用程序 (WPF) 创建一个直观的树视图结构(在思维导图的类似行上)。
我最初计划开发一个示例应用程序,其中我的应用程序只是读取底层结构化 XML 以创建类似于可视化的思维导图并将其显示给用户。用户可以选择任何显示的树节点。如果该节点有子节点,当用户点击相应的父节点时会显示。
为了实现这一点,我需要一开始就在正确的方向上抬头或帮助。任何帮助都深表感谢
我以前在 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 的美妙之处在于您可以创建自己的用户控件,如果您的面板被创建为正确布局,它将为您的自定义控件执行所有布局工作。我的网络地图只是一个以椭圆为背景的用户控件,并被放入径向面板中。
最后一步是检查您的图形集合并绘制连接节点之间的连接器的能力。在我的有向图集合中,我添加了一个名为 Tag 的对象类型属性,并存储了节点的 UserControl 版本。这样我就知道了连接的用户控件的坐标,我可以用折线将它们连接起来。我认为对你来说不同的是你希望你的连接器作为图像。
那是快速版本。我很想在这里发布显示更多的源代码,但我写它是为了工作,他们会杀了我。