在Silverlight中无法看到对象/效果时是否渲染?

时间:2011-12-16 16:05:53

标签: c# silverlight memory graphics

显然,我希望答案是“不,不会被渲染”。我问的原因是我继承的代码库相当大,占用了大量的内存。我仍然不知道是什么导致了这个问题。

我最近在查看项目的模板继承,因为大多数常用控件都有默认模板。文本框,按钮等都具有默认模板,这些模板大部分都是相互复制/粘贴的。这个问题是原始版本是在Expression Blend中完成的,我相信并最终得到了一系列实际上没有变化的设置。

我的问题是,在这些对象后面的模板中设置了某些图形效果,这些图形效果出现在所有地方,除了仍然设置之外没有任何视觉效果。其中一个是背景中的渐变,但还有其他渐变。这可能有助于内存使用吗?授予这些是非常小的东西,但我知道从某些调试我已经完成它几乎所有东西从开始加载。所有页面至少都有他们可以处理和处理的内容。我不知道它的处理方式,但就我的项目而言,它们存在并且必须得到维护。

1 个答案:

答案 0 :(得分:0)

Silverlight控件通常不支持UI虚拟化(恰好是您所描述的官方术语)。

请参阅:http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx

有些人会这样做。 DataGrid不是例如。如果这没有帮助,请提供有关您正在使用的控件的更多信息。

总结一下:它取决于容器。

您可以尝试的另一件事是实现此目的:http://kent-boogaart.com/blog/virtual-paging-in-silverlight