Je dois utiliser la réflexion pour obtenir la valeur de liaison dans un contrôle DataGridTemplateColumn
(par exemple, HyperLinkButton
). Est-ce que quelqu'un sait comment je pourrais faire cela?Comment utiliser la réflexion pour obtenir l'expressionBindingExpression (et la valeur) pour les contrôles ayant une propriété ContentProperty dans Silverlight
Il semble assez simple de le faire avec un TextBlock
parce qu'il a une propriété de dépendance TextProperty
, mais je ne peux pas sembler obtenir une expression de liaison d'un contrôle qui ne dispose pas d'un TextProperty
immédiat. Voici le code que je utilise pour acquérir l'expression de liaison pour une TextBlock
:
FrameworkElement fe = (FrameworkElement)dependencyObj;
FieldInfo fi = fe.GetType().GetField("TextProperty");
BindingExpression bindingExpression = fe.GetBindingExpression((DependencyProperty)fi.GetValue(null))
Cependant, le code suivant ne fonctionne jamais pour un objet de dépendance qui est un HyperLinkButton
:
FieldInfo fi = fe.GetType().GetField("ContentProperty");
Est-ce que quelqu'un sait comment je pourrais être en mesure d'obtenir le (et la valeur de liaison) pour le contenu d'un HyperLinkButton
?
Salut Justin, Merci pour votre aide. Avec l'ajout de ces drapeaux enum, j'ai été en mesure de résoudre le problème. – sfx