我正在 WPF 中制作一个路线规划程序,我需要显示一张 map ,它是一个具有数万条边的图形对象。如果我还想与这张 map 进行交互(如缩放、移动、选择边缘),绘制这些线条的最佳选择是什么?我尝试过的所有选项都证明渲染性能非常慢。
最佳答案
您可以使用 Shape , 与这些对象交互特别简单,但如果你要处理成千上万的边缘,我建议使用 DrawingVisual类,一个可用于在屏幕上呈现矢量图形的可视对象,及其 RenderOpen 方法。我有一个 similar problem给你的,我已经使用 DrawingContext 提高了我的应用程序的性能画出我的边缘。
要缩放,您必须使用转换,特别是 ScaleTrasnform并将转换应用于您的面板或形状。
DrawingVisual 不提供事件处理,因此如果使用 Shape 可以使用事件与边交互,使用 DrawingVisual 则需要实现 Hit-Testing .
关于c# - 在 WPF 中用数千行快速绘制 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10172906/