c# - 在 WPF 中绘制大量可视元素的建议(简单)方法?

标签 c# wpf performance drawing

我正在编写一个界面,该界面具有一个大的(宽度约为 50000 像素)“ Canvas ”类型的区域,用于以相当新颖的方式显示大量数据。这涉及很多线条、矩形和文本。用户可以滚动浏览整个 Canvas 。

目前我只是使用一个标准的 Canvas 面板,上面放置了各种形状。这很好也很容易做到:构造一个形状,分配一些坐标,然后将它附加到 Canvas 上。不幸的是,它非常慢(构造子项,而不是进行实际渲染)。

我调查了 some alternatives ,有点吓人。我不需要任何花哨的东西——只需要在坐标平面中高效构建和放置对象的能力。如果我得到的只是线条、彩色矩形和文本,我会很高兴。

我是否需要 Geometry 实例 Geometry Group inside GeometryDrawing inside of some Panel container ?

注意:如果可能的话,我想在同一空间中包含文本和图形(即彩色矩形)。

最佳答案

形状相当重量级。您可能应该考虑使用图形路径。当用户不需要与绘图的各个部分进行交互时,这些方法效率更高 - 有时甚至如此。

关于c# - 在 WPF 中绘制大量可视元素的建议(简单)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717330/

相关文章:

c# - ApplicationSettingsBase 为自定义集合写入空标签

Oracle - 未使用大表上的索引

c# - 将字典转换为列表

c# - 如何使条件等于两个字符串

c# - 在 XAML 中查找打开的窗口

c# - 只有最后一个用户控件显示内容控件

android - 在 Android 上使用 H2 数据库和 OrmLite 的速度问题

c# - linq 的优化或替代(用于聚合)C#

c# - Wix Bootstrapper 使用 Setup MSI 自动进行版本控制

c# - WCF REST 服务如何接收字节数组,而不是流