我正在尝试创建一个简单的可视化对象,其中包含大量要绘制的几何对象(超过10,000个),但是我目前正在尝试了解程序的正确流程。我到底如何有效地将这个几何图形组绘制到窗口上?
namespace DataVisualizer
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Canvas newCanvas = new Canvas();
DrawingGroup tmpDrawing = new DrawingGroup();
GeometryGroup geoGroup = new GeometryGroup();
Brush brush = new SolidColorBrush(Colors.Blue);
int particleCount = 10000;
int particleWidth = 5;
int particleHeight = 5;
Random rnd = new Random();
//create all the geometry and add it too the geometry group
for (int x = 0; x < particleCount; ++x)
{
geoGroup.Children.Add(new RectangleGeometry(new Rect(rnd.Next(500),rnd.Next(500),particleWidth,particleHeight)));
}
tmpDrawing.Children.Add(new GeometryDrawing(brush,null,geoGroup));
newCanvas.Children.Add(new DrawingImage(tmpDrawing)); //does not work
newCanvas.Background = new DrawingImage(tmpDrawing); //does not work
//it seems i dont wana be using UIElement.. how do i effeciently draw geometry?
}
}
}
我发现在线上没有简单的概述总体流程的解释。任何帮助将不胜感激。