【发布时间】:2012-01-11 13:59:07
【问题描述】:
我正在使用带有 MVVM 的 Silverlight 5。
我有一个 Singleton 的 ViewModel。 ViewModel 公开了一个PointCollection,我用它来在我的一个视图中绘制一个Polyline。
如果我尝试在第二个视图中绘制相同的Polyline,通过再次对PointCollection 进行数据绑定,我会收到“值不在预期范围内”异常。
据我所知(以我有限的 Silverlight 知识),这是因为 PointCollections 不可共享。
有解决方法吗?如何获得与第一条相同的第二条折线?我想同时将两条折线数据绑定到一个 PointCollection。
编辑:我还没有找到解决方案,但是有人遇到了同样的问题here。据微软称:
此 MSDN 页面提到某些对象不可共享,并且会生成“值超出范围”异常。
http://msdn.microsoft.com/en-us/library/system.windows.resourcedictionary(VS.95).aspxPointCollection 页面还提到它不可共享。
http://msdn.microsoft.com/en-us/library/system.windows.media.pointcollection(VS.95).aspx目前,这是设计行为。但是,我们正在对此进行评估,以查看我们是否可以更改行为或至少更改异常文本。
【问题讨论】:
标签: silverlight mvvm singleton polyline