我有一个用Silverlight 5编写的应用程序,它需要优化。应用程序包含一个TreeView,树的每个元素包含大约25个带有背景图像的编辑框控件。该树平均有大约50个元素,这使得~ 1250编辑控件。问题是,它滚动树或选择编辑框非常缓慢,即使只有5-6个元素是可见的。
我认为在这种情况下虚拟化不会有帮助,因为问题在于绘制可见元素。
有人知道如何优化吗?
由于我的低分数,无法发布图像,但是有一个TreeView项目看起来如下:
|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB|EB (25)
4楼(0xAA 03)
其中EB是带有图像背景和房间号文本的矩形形式的EditBox。编辑盒是动态创建的。
提前谢谢你。
发布于 2012-02-22 07:06:49
好吧,很难给出一个有保留的答案。但让我们试一试。我认为虚拟化并不是完全正确的,但它似乎不是主要的问题。
正确的猜测是,您使用的是DropShadows或OpacityMasks,它们是真正的性能杀手。如果是那样的话,请把它们拿掉,然后告诉我结果。否则我就没什么主意了抱歉。
https://stackoverflow.com/questions/9378617
复制相似问题