39 votes

Quand utiliser Path dans la liaison WPF?

J'ai vu beaucoup d'exemples de reliure WPF et ai utilisé la fonctionnalité dans de nombreux endroits pour apprendre à MVVM, mais quelque chose qui m'a semblé assez incohérent est que vous spécifiez "Path =" dans la chaîne de liaison en tapant la propriété que vous voulez lier. Par exemple, quelle est la différence fonctionnelle entre les attributs XAML suivants:

 DataMemberBinding="{Binding SomeProperty}"
DataMemberBinding="{Binding Path=SomeProperty}"
 

44voto

Martin Harris Points 18057

Il n'y a pas de différence fonctionnelle. La propriété par défaut de l'objet de Liaison est le Chemin, cela signifie que si vous ne spécifiez pas la propriété sur laquelle vous définissez ensuite, vous devez définir le Chemin d'accès.

C'est parce que l'objet de Liaison a deux constructeurs, l'un par défaut et celui qui prend un seul paramètre de chaîne. Lorsque vous transmettez une valeur sans l'étiqueter cette propriété sera transmis sur la correspondance de constructeur, dans le cas de la Liaison de cette définit le chemin d'accès. Il est très semblable au concept de la manière dont les attributs travail, un appel au constructeur de la classe suivi par des paramètres optionnels, par exemple:

[AttributeUsage(AttributeTargets.Class), AllowMultiple = false, Inherited = false ]

Probablement de façon au-delà de ce que vous êtes en train de poser la question, mais j'ai remarqué qu'il y a une légère (et probablement sans conséquence) de différence entre les deux. Puisque je ne peux pas l'expliquer moi-même, j'ai commencé une nouvelle question à ce sujet ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X