Lorsque nous lions à une collection hétérogène d'objets, tous les objets n'ont pas le même ensemble de propriétés. dans la fenêtre de sortie, nous obtenons un message comme:Échec de la performance de l'échec de liaison WPF par rapport à l'exception
System.Windows.Data Error: 39 : BindingExpression path error: 'RoundingFactor' property not found on 'object' ''MultiLineTextMarkingScheme' (HashCode=7262386)'. BindingExpression:Path=RoundingFactor;..........
Cela ne semble pas être une exception, mais nous sommes préoccupés qu'il a un impact sur les performances. Devrions-nous nous inquiéter et créer un modèle de vue qui possède toutes les propriétés que nous souhaitons lier (et dont les propriétés qui n'existent pas sur l'élément sous-jacent renvoient null) ou pouvons-nous simplement le quitter.
Cette situation se produit souvent dans un scénario de grille où il peut y avoir un grand nombre de ces échecs de liaison.
Je pense (mais ne l'ai pas mesuré à vérifier) qu'il ne fait aucune différence, ou même effectue * mieux * quand la propriété n'existe pas: WPF doit localiser la propriété dans les deux cas, et si la propriété n'existe pas, elle * l'enregistre * en l'interrogeant et en connectant l'événement PropertyChanged! Le seul coût que je puisse voir est l'impression du message. Cela pourrait être coûteux - mais j'espère que WPF ne prendrait pas la peine d'essayer d'imprimer le message s'il n'y avait aucun endroit où l'imprimer ... Bien sûr, puisque je ne l'ai pas mesuré, mes suppositions ne valent rien ... ! – itowlson