【发布时间】:2016-11-08 17:02:32
【问题描述】:
假设我有一个网格,其大小为:[650, 540] 每个单元格中都有一个 UIElement,如矩形或椭圆形
网格在开始时填充,在程序的整个生命周期中从未修改过
as you can see it's placed inside a scrollviewer
问题在于,由于速度慢,程序绝对不能使用
我应该考虑从 WPF 更改为另一个库还是有办法让它更快?你能推荐点什么吗?
提前谢谢你
【问题讨论】:
-
这样一个网格的目的是什么?为什么不使用位图呢?
-
@Clemens 通过按下控件,用户可以向前或向后突出显示具有相同“形状”的附近单元格。您是否建议使用 Canvas 而不是 Grid?我认为 Grid 更适合在 wpf 中使用,因为它与我将要代表的结构的亲和性 我还认为是一种“可扩展性”(网格并不总是 [650, 540],它是只是最大尺寸)由于 wpf 网格的矢量图形属性
-
@Clemens,哦.. 或者你的意思是使用位图而不是 UIelements?
-
不,我的意思是使用单个位图而不是整个网格。您说它“从未修改过”。显然,当您想突出显示单元格时,情况并非如此。
-
然后您应该创建一个包含所有形状的位图,并将其用作空网格的背景(在 ImageBrush 中)。然后将黄色矩形添加到它们需要位于的任何网格单元格中。
标签: c# wpf performance grid rendering