2011-06-18 10 views
4

私はwpfを学習しようとしていますが、基本的に一連のパスをロードして描画しようとしています。私は、さまざまなジオメトリタイプの特定のサンプルを含むいくつかのテスト "ファイル"を持っています。 「ファイル」はそれぞれ異なる数の形をしています。WPF:リストからジオメトリを描画する<Geometry>

これらのファイルをWPFアプリケーションにロードする最適な方法は何ですか。 XAMLで個々のパスを作成したくないので、より良い方法があります。わかりません。私はまだ形状がヒットしたいと思う - 例えば、テスト可能。私は、ユニオンを行い、複数の図形を単一の図形セットに変換するだけではいけません。

私はC#4.0でこれをやっています。

EDIT:基本的には、さまざまなポリゴンの座標をテキストファイルにシリアライズしました。私はこれらのテキストファイルからパスを作成します。 3つのポリゴンを含むリストがある場合、明示的に3つのパスをXAMLファイルに作成せずにレンダリングするにはどうすればよいですか?

答えて

0

あなたはそれらを(ファイルから)読み込んで、XamlReaderを使用して具体的なインスタンスを作成する必要があります。それらをObservableCollectionに保存してから、ItemsControlにそのコレクションをバインドして、パネルをCanvasとして指定することができます。

0

XamlReaderクラスを使用する必要があると思います。具体的なオブジェクトを取得したら、親コントロールが必要な場所に簡単に追加できます。

ストリームで読み込む場合はXamlReader.Load、使用可能な文字列の場合はXamlReader.Parseを使用してください(例:FileStream)。

これらのメソッドは、構築されたオブジェクトツリーのルートを返します(Pathでも可能です)。

1

Shapefilesと話している場合は、Mapsuiが良い選択肢になります。
私はいつもホイールを再発明したくないと思う。

関連する問題