一些背景
我注意到,设置DataForm的EditTemplate(来自Silverlight工具包)可能会导致DataForm不会被垃圾收集。因此,DataForm的父控件也不能被垃圾收集,从而导致非常严重的内存泄漏。
下面是一些XAML来演示这个案例。
<toolkit:DataForm HorizontalAlignment="Stretch" Margin="10" VerticalAlignment="Stretch">
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<toolkit:DataField Label="Dummy Binding:">
<TextBox Text="{Binding DummyBinding, Mode=TwoWay}" />
</toolkit:DataField>
</DataTemplate>
</toolkit:DataForm.EditTemplate>
</toolkit:DataForm>
我打开了一个
issue on CodePlex
. Issue有一个附件
project
这证明了这一点。
所以,我的问题是
还有人遇到过这个问题吗?更重要的是,有人知道任何解决办法吗?如何强制此数据窗体被垃圾收集?