5 votes

Lier l'instance actuelle d'un contrôle à une propriété attachée.

Je cherche à savoir si vous pouvez lier l'instance actuelle d'un usercontrol ou d'une fenêtre à une propriété attachée définie dans son xaml, par exemple :

<Window MyAttachedProp.Value="{Binding Self}"/>

4voto

colinsmith Points 7084

Vous voulez le MyAttachedProp.Value pour avoir le Window la référence de l'objet ?

Vous pouvez utiliser l'une de ces méthodes :

  1. {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}

  2. donnez à votre fenêtre un x:Name="XXXXX"... et utilisez ensuite {Binding ElementName=XXXXX} pour le trouver.

  3. {Binding RelativeSource={RelativeSource Self}}

  4. {Binding RelativeSource={x:Static RelativeSource.Self}}

L'exemple 4 permet d'éviter la création d'une nouvelle RelativeSource (avec le Mode réglé sur Self )... au lieu de cela, il pointe vers le Static déjà créé dans le fichier RelativeSource class....(il s'agit d'une optimisation TRES mineure et prématurée).

La plupart des gens utilisent l'exemple 3 car il est moins long à taper et plus facile à lire.

1voto

H.B. Points 76352

{Binding RelativeSource={RelativeSource Self}}

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