什么硬件/平台差异可能导致XAML-WPF多绑定到CheckBox失败?

时间:2014-03-20 14:50:25

标签: c# wpf xaml checkbox multibinding

这是my last question的后续内容(请参阅代码示例以及我对已接受答案的最后评论)。简而言之,我在WPF Multibinding上获得DataGridTextColumn一个(自制的)Person对象和一个CheckBox。在我在办公室的几台计算机上,它按预期工作 - 根据实现CheckBox接口的对象,根据IMultiValueConverter的状态更改内容 - 但是在测试的所有四台计算机上(到目前为止)在现场,它失败了。

失败似乎是由于绑定错误,因为传递给IMultiValueConverter值数组的对象具有类型MS.Internal.NamedObject,我怀疑它是空数据绑定对象{{1 (但DependencyProperty.UnsetValue没有给出更明确的指示)。

从表面上看,这些计算机的配置相同,但它们并非完全来自克隆的图像。我的问题是硬件和/或平台的哪些方面可能会导致ToString()的不同行为?或者我可以尝试进一步调查问题的根源? (免责声明:我几乎是WPF和XAML的新手。)

1 个答案:

答案 0 :(得分:2)

我搜索了MS.Internal.NamedObject,然后来到this post,听起来可能与此有关。

最终原因是WPF 4框架中的一个错误,该错误与绑定到ObservableCollection的虚拟化控件相关,并且更改了DataContext。 official bug report页面上发布了一些解决方法,如果可以,最简单的解决方案似乎是升级您的框架版本。