Я делал карту сети с нуля раньше в WPF, но не Mind Map.Это не легко и займет несколько страниц, чтобы объяснить каждый шаг.Итак, я дал быстрый запуск ниже о том, как я выполнил свою сетевую карту.Я не думаю, что будет большая разница, кроме макета и визуального представления узлов и соединителей узлов.
Первое, с чего начать, - это ваша коллекция.MSDN имеет коллекцию направленного графа убийцы, доступную здесь: http://msdn.microsoft.com/en-us/library/ms379574(v=vs.80).aspx.
После того, как ваша коллекция будет создана, вам нужно будет расширить класс Panel, чтобы он мог выполнить ваш макет для вас.Я не знаю ни одной из существующих панелей макета Mind Map, но вот ссылка на макет Radial Panel: http://msdn.microsoft.com/en-us/library/ms771363(v=vs.90).aspx. Он должен показать вам шаги, необходимые для размещения элементов в пользовательском макете.
Вам также потребуется способ визуального представления узлов вашего ориентированного графа.Прекрасной особенностью WPF является то, что вы можете создавать свои собственные элементы управления UserControls, и если ваша панель создана для правильной компоновки, она выполнит всю работу по компоновке для ваших пользовательских элементов управления.Моя сетевая карта была просто UserControl с эллипсом в качестве фона, брошенным в радиальную панель.
Последний шаг - это возможность изучить коллекцию графиков и нарисовать соединители между подключенными узлами.В свою коллекцию ориентированных графов я добавил свойство типа object с именем Tag и сохранил версию узла UserControl.Таким образом, я знаю координаты подключенных пользовательских элементов управления и могу связать их с помощью PolyLine.Я думаю, что разница для вас в том, что вы хотели бы, чтобы ваш разъем был изображением.
Это быстрая версия.Я хотел бы опубликовать здесь исходный код, который показывает больше, но я написал его для работы, и они убили бы меня.