在Xamarin表格中,我有以下课程(没有内容):
public class TracksBoxView : BoxView
// Uses custom renderer TracksBoxViewRenderer.cs
{
}
导航堆栈上名为TracksPage.cs的ContentPage仅包含TracksBoxView,Label和Switch。 TracksPage生成一些公共数据(需要几秒钟),然后设置由iOS自定义渲染器TracksBoxViewRenderer.cs轮询的标志。然后,自定义渲染器将检索并显示信息。
当用户导航到TracksPage(推送)时,信息会正确显示。然后用户点击'返回'按钮,几秒钟后再次导航到TracksPage。这是重复的。在第二次或第三次尝试时,会发生以下异常:
System.ObjectDisposedException: Cannot access a disposed object.
这发生在自定义渲染器的早期,位于以下行:
double totalWidth = (double)this.Bounds.Width;
如果用户在尝试之间延迟30秒或更长时间,则大多数时间都有效。我想象垃圾收集正在发生。
在论坛中没有发现任何相似内容。
我能做些什么,也许更好的方法或解决方法?这听起来像是Xamarin Forms的错误吗?
答案 0 :(得分:1)
我的一个基本错误。标签不是字段。 :(