私はWPFでは前からネットワークマップを作成しましたが、マインドマップは作成していません。それは簡単ではなく、すべてのステップを説明するために数ページを要します。そこで私はネットワークマップをどのように達成したかを以下に簡単に説明しました。私は、ノードとノードのコネクタのレイアウトや視覚的表現以外に大きな違いはないと思います。
最初はあなたのコレクションです。 MSDNには、ここで利用可能なキラーのDirected Graphコレクションがあります: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を作成することができ、パネルが適切にレイアウトされるように作成されていれば、カスタムコントロールのすべてのレイアウト作業が実行されることです。私のネットワークマップは、バックグラウンドとして楕円形のUserControlであり、Radial Panelに投げられました。
最後のステップは、グラフのコレクションを調べ、接続されたノード間にコネクタを描画する機能です。私の有向グラフコレクションでは、Tagというタイプのオブジェクトのプロパティを追加し、ノードのUserControlバージョンを格納しました。この方法で、私は接続されたUserControlの座標を知っていて、PolyLineとそれらを接続することができます。あなたの違いは、コネクターをImageとしたいと思うことです。
これはクイックバージョンです。私はここにソースコードを掲載して、より多くの情報を掲載したいと思っていますが、仕事用に書いたので、彼らは私を殺すでしょう。
商用ライブラリを使用することはできますか?もしそうなら、http://www.nwoods.com/components/silverlight-wpf/goxam-overview.htm – Josh
あなたのinput.Iのためのジョシュ..おかげで、間違いなく市販の代替品を使用することができますが、私はより興味があった同じものを開発するので、「どこから始めるか」などの指示を入力する必要があります。 –