2012-04-30 22 views
-1

我正在WPF中使用普通的Prism和MVVM概念开发实时图形应用程序。内存大小实时增长迅速图

我有一个ViewModel,我有收集说GraphDotsCollection,每秒后不断更新。每秒增加100点。该集合绑定在图表控制中。

现在,随着集合的不断增长,内存大小也增长得非常快,最终引发系统内存异常异常。

我不知道如何摆脱这个内存问题。

我正在使用WPF工具包。

请帮忙。提前致谢。

+0

DJ,欢迎来到堆栈溢出。在这里,我们展示欣赏,并让未来的访问者知道哪个答案正确回答了问题。请接受解决您问题的答案。 – Shahbaz

+0

另外,在这个特定问题的情况下,我发现你已经找到了解决方案。你可以回答你自己的问题,然后接受它。 – Shahbaz

回答

-1

我相信你没有犯这样愚蠢的错误,但只是一个复核。

检查您的ViewModel。您必须声明一些CLR属性和那些被绑定到浏览控件(如: - 图表控制)

你CLR属性应该喜欢

Public string YourCLRProp 
{ 
     get { return _yourVariable;} 
     set { _yourVariable=value;} 
} 

它不应该像

Public string YourCLRProp 
{ 
     get { return YourCLRProp;} 
     set { YourCLRProp=value;} 
} 
+0

public GraphDotsCollection GraphDotsCollection {}我认为它是正确的......但有一点,财产声明如何影响性能..? –

+0

您可以发布您的属性声明代码 –

+0

循环属性定义与内存占用有什么关系?如果您的第二个示例中的属性已设置或读取,它将最终抛出StackOverflowException,但不会抛出OOM。 – EricSchaefer