[英]How to draw a lot of clickable rectangles in WPF?
我正在开发一个基本的思维导图程序,但是我没有很多使用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个这样的图形时,在完成所有图形的绘制之后,诊断工具中的过程内存增加了100 MB。 我这样做是为了模拟具有10,000个分支的思维导图。 所以我想知道是否有办法减少这些矩形的已用内存? 还是最好使用DrawingVisual和grid.click事件,该事件通过将矩形的坐标放入列表中来检查单击的位置是否与矩形的位置匹配?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.