Wenn wir an heterogene Auflistung von Objekten binden, haben nicht alle Objekte den gleichen Satz von Eigenschaften. im Ausgabefenster erhalten wir eine Meldung wie:WPF Binding Failure Leistungshit vs Ausnahme
System.Windows.Data Error: 39 : BindingExpression path error: 'RoundingFactor' property not found on 'object' ''MultiLineTextMarkingScheme' (HashCode=7262386)'. BindingExpression:Path=RoundingFactor;..........
Dies scheint keine Ausnahme zu sein, aber wir sind besorgt es eine Auswirkung auf die Leistung hat.
Sollten wir betroffen sein und ein Ansichtsmodell erstellen, das alle Eigenschaften aufweist, an die wir binden möchten (und die Eigenschaften, die nicht im zugrunde liegenden Element vorhanden sind, null zurückgeben) oder können wir es einfach lassen.
Diese Situation tritt häufig in einem Grid-Szenario auf, in dem möglicherweise viele dieser Bindungsfehler auftreten.
Ich vermute (aber nicht zu überprüfen gemessen), dass es keinen Unterschied macht, oder sogar durchführt * besser * Wenn die Eigenschaft nicht existiert: WPF muss die Eigenschaft in jedem Fall finden, und wenn die Eigenschaft nicht existiert, speichert sie * tatsächlich * ab und fragt das PropertyChanged-Ereignis an! Die einzigen Kosten, die ich sehen kann, ist das Drucken der Nachricht. Das könnte teuer werden - aber ich würde hoffen, dass WPF nicht versuchen würde, die Nachricht zu drucken, wenn es nirgendwo zu drucken wäre ... Natürlich, da ich es nicht gemessen habe, sind meine Vermutungen wertlos ... ! – itowlson