Qu'est-ce que {Binding Path=.}
dans une liaison WPF ?
Je vois que certaines personnes l'utilisent, mais je n'ai pas trouvé d'explication.
Y a-t-il d'autres symboles spéciaux dans la syntaxe de liaison (autres que {Binding /}
) ?
Qu'est-ce que {Binding Path=.}
dans une liaison WPF ?
Je vois que certaines personnes l'utilisent, mais je n'ai pas trouvé d'explication.
Y a-t-il d'autres symboles spéciaux dans la syntaxe de liaison (autres que {Binding /}
) ?
J'ai trouvé ceci Fiche d'information sur les liaisons WPF il y a quelques mois et je le trouve très utile, surtout pour ceux qui apprennent le WPF. Il y a quelques fautes d'orthographe, mais il est tout de même très bon.
Voici un petit extrait (qui est censé avoir un format tabulaire) :
Reliure de base
{Binding}
Lier au DataContext actuel.
{Nom du lien}
Lié à la propriété "Name" du DataContext actuel.
{Nom du lien.Longueur}
Lier à la propriété Length de l'objet dans la propriété Name du DataContext actuel.
{Binding ElementName=SomeTextBox, Path=Text}
Liez à la propriété "Text" de l'élément XAML avec name="SomeTextBox" ou x:Name="SomeTextBox".
Très bien, mais qu'est-ce que {Binding .}. Je cherche une explication pour celui-ci mais je ne la trouve pas ?
@batmaci Je veux dire que c'est équivalent à {Binding }
mais cela fait plusieurs années que je n'ai pas beaucoup travaillé avec Xaml, donc je ne suis pas sûr.
@batmaci, des années plus tard... {Binding string}
est similaire à {Binding Path=string}
. string
n'est pas utilisé pour initialiser la propriété Path
directement, mais comme paramètre pour le constructeur Binding (string path)
qui initialise ensuite Path
propriété. Cela ne fonctionne que lorsque la chaîne de caractères est le premier jeton après Binding
le reste étant des initialisateurs réguliers (paires propriété=valeur). Sachant que, Binding .
est en effet égal à Binding Path=.
et la syntaxe du chemin de propriété est disponible aquí .
C'est un raccourci pour se lier à la source actuelle. Pour plus d'informations, voir aquí .
En particulier dans la documentation :
Optionnellement, un point (.) peut être utilisé pour se lier à la source actuelle source actuelle. Par exemple,
Text="{Binding}"
est équivalent àText="{Binding Path=.}"
.
@Ray - Je pense exactement la même chose. Si vous utilisez la sténographie, pourquoi vous arrêter là ?
Je ne peux pas discuter avec MSDN, mais il y a quand même une différence. {Binding} ne peut pas être utilisé sur un objet lui-même (étant à double sens il nécessite une propriété) alors que {Binding Path=.} fonctionne.
@Sergey - Avez-vous un exemple de code où {Binding} ne fonctionne pas mais où {Binding Path=.} fonctionne ? Si oui, MSDN a probablement besoin d'être mis à jour...
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.