我正在编写一个WPF图表,并使用Visuals提高性能。代码如下:
public class DrawingCanvas2 : Canvas
{
private List<Visual> _visuals = new List<Visual>();
protected override Visual GetVisualChild( int index ) { return _visuals[index]; }
protected override int VisualChildrenCount { get { return _visuals.Count; } }
public void AddVisual( Visual visual )
{
_visuals.Add( visual );
base.AddVisualChild( visual );
base.AddLogicalChild( visual );
}
}
除了 DrawingVisual
元素(线条,文本),我需要在图表中添加一个 ComboBox
。因此,我尝试了以下代码:
public DrawingCanvas2()
{
ComboBox box = new ComboBox();
AddVisual( box );
box.Width = 100;
box.Height = 30;
Canvas.SetLeft( box, 10 );
Canvas.SetTop( box, 10 );
}
但是它不起作用,没有ComboBox显示。我错过了什么?