数年前、私はJavaでグラフアプリケーションを書いた。 QuadTreeにはエッジと頂点が格納されていましたが、描画するたびにループしていました。パネルに直接描画する
今日私はWPFで同様のことをする必要がありますが、パネル内の子リストに要素を追加する必要があることに気付きました。データの2つのバージョンを効果的に格納するので、これは非効率的です。要素を削除することは、四分木を使用する場合に比べてコストがかかります。
子リストを使わずにこれを実装する方法はありますか? WPFでは
数年前、私はJavaでグラフアプリケーションを書いた。 QuadTreeにはエッジと頂点が格納されていましたが、描画するたびにループしていました。パネルに直接描画する
今日私はWPFで同様のことをする必要がありますが、パネル内の子リストに要素を追加する必要があることに気付きました。データの2つのバージョンを効果的に格納するので、これは非効率的です。要素を削除することは、四分木を使用する場合に比べてコストがかかります。
子リストを使わずにこれを実装する方法はありますか? WPFでは
あなたは通常、あなたがデータソースを持っている場合、代わりにあなたには、いくつかのItemsControl
を使用し、直接パネルを使用してItemsSource
をバインドし、使用したいものは何でもパネルへItemsPanel
を設定し、どのように定義するItemTemplate
を作成しないでください項目が表示されます。 (Canvas
binding example)
パネルで作業するこの方法は、あなたがあなたのItemsSource
は、それが同期して滞在するINCC
を実装している場合、Children
コレクションの世話を手動で持っていないことを意味します。私はこれがあなたの木では少し難しいかもしれないが、多分あなたは何かを理解することができることを理解しています。
この[SO質問](http://stackoverflow.com/questions/2112034/drawing-3d-lines-in-wpf)に記載されていることがあればご覧ください –