我有一个Silverlight控件,在渲染了大量嵌套子控件后,它完全退出渲染控件。主控件被数据绑定到类似于以下结构的对象:
MainViewModel
-> MatrixViewModel
-> List<SectionViewModel>
-> List<BuildingBlockViewModel>
MainViewModel
有一个名为MatrixViewModel
的子对象属性,该属性又包含SectionViewModel
个列表,每个SectionViewModel
都有一个BuildingBlockViewModel
列表}第
每个视图模型都有一个对应的xaml视图,其中包含许多按钮,复选框等.SendViewModel和BuildingBlockViewModel集合使用其父视图的xaml中的标准ItemsControl进行渲染。
我发现如果从最低级别的构建块视图中删除一些xaml控件(按钮,堆栈面板等),则控件可以将它们全部呈现。但是,只要我将删除的xaml添加回其中,就会再次停止加载所有控件。
就好像Silverlight正在碰到某种最大对象树大小或其他东西。我已经监视了内存,当应用程序加载时还剩下足够的CPU内存,所以我甚至都没有把CPU连接起来。