2012-01-26 71 views
0

几年前,我用Java写了一个绘图应用程序。它将边和顶点存储在QuadTree中,每当我必须绘制它们时,都会循环使用。直接绘制到面板

今天,我需要在WPF中做类似的事情,但是,我注意到我必须将元素添加到面板中的Children列表才能绘制。这是效率低下,因为现在我有效地存储两个版本的数据。与使用四叉树相比,删除元素的成本也很高。

有没有更好的方法来实现这一点,而不必使用儿童列表?

+0

看看这个[SO问题](http://stackoverflow.com/questions/2112034/drawing-3d-lines-in-wpf)会为你工作吗 –

回答

0

在WPF中,你通常不直接使用的面板,如果你有一个数据源,而不是你使用一些ItemsControl,结合其ItemsSource,建立ItemsPanel您要使用,并创建一个ItemTemplate定义如何不管面板项目将被显示。 (Canvas binding example

与面板这种工作方式意味着您不必手动照顾Children收集的,如果你的ItemsSource工具INCC将保持同步。我意识到这可能对你的树有点困难,但也许你可以找出一些东西。