Je veux créer une certaine étendue de Liaison-Balisage-Extension, qui se comporte comme un normal WPF-Contraignant, mais des choses en plus (utilisation des valeurs par défaut différentes, peut-être ajouter un peu de comportement, etc.). Code ressemble à ceci:
public class CustomBindingExtension : Binding
{
.. some extra properties and maybe overrides ...
}
Tout fonctionne bien, y compris XAML intellisense, sauf que j'ai juste ne peux pas faire de Resharper résoudre mon de Liaison de Chemin d'accès correctement. I. e.: en utilisant ce code, je peux [Strg]+Clic sur "CurrentText" et Resharper permet de vs2010 accédez au code de la définition de la CurrentText-Propriété.
<UserControl x:Name="uc" ...>
<TextBox Text="{Binding ViewModel.CurrentText, ElementName=uc}" />
</UserControl>
Mais à l'aide de ma liaison, qui fonctionne correctement au moment de l'exécution, je viens d'obtenir une Infobulle lors du survol 'CurrentText' à me dire qu'il est certain " MME Internes.De la conception.Les métadonnées.ReflectionTypeNode', et pas de navigation par [Ctrl]+Clic.
<UserControl x:Name="uc" ...>
<TextBox Text="{util:CustomBinding ViewModel.CurrentText, ElementName=uc}" />
</UserControl>
J'ai essayé les choses suivantes:
Dériver de Liaison Dériver de BindingDecoratorBase Laisse-le en dehors de la "Vulgarisation" de suffixe pour mon CustomBinding-classe mettre le Balisage-Extension dans un ensemble distinct Utilisation ConstructorArgumentAttribute Propriété de type chaîne de caractères et le type PropertyPath pour le Chemin d'accès à la PropriétéJ'ai également regardé les classes d'origine de Liaison et BindingBase, mais ne pouvait pas trouver plus de différence à mon code. Les idées de ce que devrait aider ici? Ou est-ce juste un traitement spécial de la Liaison-MarkupExtension qui je peut en aucun cas obtenir pour mon propre MarkupExtensions?
Mise à jour le 16.03.2011: Peut aussi être un bug ou d'une carence de Resharper, Jetbrains est d'enquêter sur ce sujet: http://youtrack.jetbrains.net/issue/RSRP-230607
Mise à jour 10.12.2013: pendant ce temps, la fonction semble être de travailler (avec R# 7.1.3, peut-être aussi les versions antérieures), j'utilise en fait la démarche avec les BindingDecoratorBase et je l'aime beaucoup. Peut-être qu'il ne fonctionne que si votre MarkupExtension se termine sur la "Liaison", mais la mienne, donc je suis heureux.