0
我有一個呈現大約20000個矩形的WPF(.NET 3.5)控件。 此MyControl來自Canvas。我把一個MyVisualsHost作爲一個孩子到MyControl是這樣的:DrawingVisuals主機和佈局性能
public class MyControl : Canvas
{
private readonly MyVisualsHost host = new MyVisualsHost();
private List<MyVisual> items = Enumerable.Range(0, 20000).Select(...).ToList();
public MyControl()
{
this.Children.Add(host);
}
}
所以,我把它變成圖標或進入Window.Content,它使項目相當快(1秒)。 當我調整窗口大小時,矩形重新排列並重繪(也在1秒內)。
但是,當我把組合框到XAML與MyControl一起:
<Grid>
<ComboBox/>
<MyControl />
</Grid>
渲染上重新排列減慢至5-10秒。
任何人有任何想法呢? 在此先感謝。
P.S.您可以下載演示項目Here