6
votes

DataContext en tant que source de liaison de convertisseur dans les ressources

xxx

est-il possible d'utiliser des liaisons utilisant le DataContext ou le TemplateParent Dans les ressources visuelles de la racine de Controltemplate?


1 commentaires

Pour une raison quelconque, Stackoverflow tronquait mon modèle de style et de contrôle. Cette toile est à la racine du modèle de commande.


4 Réponses :


6
votes

Si vous souhaitez que votre convertisseur de valeur puisse accéder à DataContext, vous souhaiterez peut-être utiliser ConverterParameter à la place: Strike>

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture);


4 commentaires

Malheureusement, vous ne pouvez pas utiliser une liaison sur "converterParamètre" qui serait vraiment pratique.


Vous êtes bien sûr absolument juste. Mais je pense que vous pourrez peut-être utiliser le mulitbinding pour cela. J'ai mis à jour ma réponse en conséquence.


Je n'ai pas encore eu la chance de tester cela comme je travaille sur d'autres projets. Mais je serai sûr de vous donner crédit si cela résout mon problème.


Je voulais juste vous remercier de me faire remarquer dans la direction de l'utilisation de l'interface imultivalueconverter.



11
votes

La réponse précédente est réellement vraiment proche. Mais la liaison à l'intérieur de la multibelle doit être: xxx

qui a fonctionné pour moi


1 commentaires

Dans mon cas jette une exception "une liaison bidirectionnelle nécessite un chemin ou xPath.". Je suis une propriété de texte contraignante de la zone de texte.



-2
votes

Voici un moyen simple et efficace (qui fonctionne pour mon application): xxx

maintenant, vous pouvez utiliser (valeur) dans la méthode convertisseur comme votre < Code> DataContext .


1 commentaires

Cela donne à celui du texte dataContext dans le convertisseur.



1
votes
SomeProperty="{Binding . ,Converter={StaticResource SomeConverter}, ConverterParameter=someParam}"
The dot is telling that you binding to datacontext

0 commentaires