【发布时间】:2013-04-16 15:29:33
【问题描述】:
我正在使用 WPF 数据绑定编写一个具有相当大表单的 WPF 应用程序。
我注意到,当我“放开”表单元素时,它们的存活时间比我希望的要长得多,这意味着它们会继续从视图中获取更新,导致我的应用程序明显变慢。为了防止这种情况发生,当 WPF 树的一部分被释放时,我遍历文档并在每个元素上调用 BindingOperations.ClearAllBindings()。
现在我遇到了以下问题。如果我的视图包含一个数据绑定的组合框,像这样:
<ComboBox ItemsSource="{Binding Path=SourceItems}" SelectedValue="{Binding SelectedItem}" />
ItemsSource 绑定可能会在 SelectedValue 绑定之前被删除。结果,我的数据模型中的SelectedItem 设置为null。没想到!
我的问题是:有没有一种安全的方法来清除表单的所有数据绑定而不会产生这种副作用?
【问题讨论】:
标签: .net wpf data-binding