我在显示搜索结果的WPF导航样式应用程序中有一个页面。该页面包含几个数据绑定控件。该页面本身工作正常;它执行搜索并返回结果。数据绑定的CheckBox控件正常工作。页面导航后WPF MVVM数据绑定中断
但是,如果我点击一个结果链接,然后单击返回按钮返回到结果列表,我的所有CheckBox.IsChecked
数据绑定都被打破。其他数据绑定控件(组合框,DatePickers等)继续按预期工作。绑定到CheckBox控件上的其他属性,如IsEnabled
,可以正常工作。但IsChecked
绑定仍然中断,直到我刷新页面。
下面是用于我的CheckBox控件之一的XAML:
<CheckBox IsChecked="{Binding IncludeNote}" Content="Note" IsEnabled="{Binding IsBusy, Converter={StaticResource boolNot}}" />
正如你所看到的,没有什么花哨回事。但是,在WPF应用向前或向后导航到页面之后,IsChecked
绑定将被破坏,而IsEnabled
属性将继续工作。
这是怎么回事?这是一个错误?
更新:在玩过一些替代品后,我发现这个问题也影响了CheckBox派生自的ToggleButton控件。
UPDATE2:它也被破坏为TextBox.Text属性。
有没有办法“刷新”这些控件的数据绑定?或者我应该采取其他方法来解决此问题?
这里最大的问题是它可能很快导致内存泄漏。 – ouflak 2014-08-21 16:38:26