我正在开发一个基本的思维导图程序,但我没有太多使用WPF绘图的经验。我希望能够绘制文本上的矩形,我希望能够点击矩形来更改文本的例子。到目前为止,我有:
private void DrawSubject(int curve, double X, double Y, Brush clr)
{
Rectangle rect = new Rectangle();
rect.Width = 62;
rect.Height = 38;
rect.Fill = clr;
rect.Stroke = line;
rect.RadiusX = rect.RadiusY = curve;
Canvas.SetLeft(rect, X);
Canvas.SetTop(rect, Y);
mindmap.Children.Add(rect);
}
SolidColorBrush line = new SolidColorBrush(Color.FromArgb(255, 21, 26, 53));minmap是画布的名称。我希望能够画出许多这样的矩形,这些矩形代表了思维导图的分支。但是,当我在随机位置绘制了10,000个这样的对象时,在完成所有这些对象的绘制后,诊断工具中的进程内存增加了100MB。我这样做是为了模拟一个有10,000个分支的思维导图。所以我想知道是否有一种方法可以减少这些矩形的内存使用量?或者使用DrawingVisual和grid.click事件更好,该事件通过将矩形的坐标放在列表中来检查单击的位置是否与矩形的位置匹配?
https://stackoverflow.com/questions/48154074
复制相似问题