0

.NET Windows アプリケーション (WPF) 用に直感的なツリー ビュー構造 (マインド マップの同様の行上) を作成しようとしています。

thisまたはthisと同様の行にあるもの

私は当初、サンプル アプリケーションを開発することを計画しています。このアプリケーションは、基礎となる構造化された XML を読み取るだけで、視覚化のようなマインド マップを作成し、それをユーザーに表示します。ユーザーは、表示されたツリー ノードのいずれかを選択できます。ノードに子ノードがある場合、ユーザーが対応する親ノードをクリックすると表示されます。

これを達成するには、最初に正しい方向に向かうか、助けが必要です。どんな助けでも大歓迎です

4

1 に答える 1

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 に接続できます。あなたにとっての違いは、コネクタをイメージとして使用することです。

それがクイックバージョンです。ここにソース コードを投稿して詳細を表示したいのですが、仕事のために書いたので、彼らは私を殺してしまいます。

于 2011-12-22T13:38:27.430 に答える