当我们绑定到异构对象集合时,并不是所有对象都具有相同的属性集。在输出窗口中,我们收到如下消息:
System.Windows.Data Error: 39 : BindingExpression路径错误:“object”‘MultiLineTextMarkingScheme’(HashCode=7262386)上找不到'RoundingFactor‘属性。BindingExpression:Path=RoundingFactor;..........
这似乎不是一个例外,但我们担心它会对性能产生影响。
我们应该关注并创建一个视图模型,该模型具有我们希望绑定到的所有属性(并且在基础元素上不存在属性,返回空),或者我们可以直接保留它。
这种情况通常发生在网格场景中,其中可能存在大量这些绑定失败。
发布于 2010-04-07 17:37:32
您之所以看到该输出,是因为您正在Visual中运行。通常,由于没有跟踪侦听器,这些跟踪语句将不存在。无论哪种方式,性能影响都是完全可以忽略不计的。
另一方面,异常将是报告绑定失败的一种代价很高的方法,特别是因为--正如您注意到的--通常存在针对某些对象而不是其他对象的绑定。
发布于 2013-04-18 18:27:19
我自己还没有测试过这一点,但是一个blog post from the Visual Studio team说绑定错误确实会影响性能:
WPF尝试了几种不同的解决路径错误的方法,包括搜索附加属性,这非常昂贵。
https://stackoverflow.com/questions/2589194
复制相似问题