2010-06-07 7 views
0

J'ai un problème étrange - liaison créée par XAML (les deux façons par l'extension de balisage ou normal) ne fonctionne pas (BindingOperations.IsDataBound renvoie false et en fait il n'y a pas d'objet Binding créé). Quand je fais littéralement la même chose à partir du code, tout fonctionne parfaitement. Une autre chose est que la liaison en XAML est créée dans un DataTemplate - ce qui est marrant quand j'utilise le DataTemplate pour la première fois qu'il échoue, puis je le corrige du code (ajouter des liens à des objets spécifiques) et pendant que ajouter plus d'objets à la collection l'ensemble de liaison dans XAML fonctionne simplement. Si j'essaie de supprimer tous les objets de la collection, puis d'en ajouter un nouveau, la liaison échoue à nouveau.WPF Liaison XAML vs C#

En réalité, c'est une version abrégée d'une autre de mes questions. Pour plus de détails s'il vous plaît se référer à: WPF Debugging AvalonEdit binding to Document property

Désolé de le faire de cette façon, mais il n'y a pas de réponse et il est probablement trop long pour que quelqu'un puisse lire.

    -
+0

duplication possible de [liaison AvalonEdit de débogage WPF à la propriété Document.] (Http://stackoverflow.com/questions/2986511/wpf-debugging-avalonedit-binding-to-document-property) – zendar

Répondre

0

Y at-il une exception tracée dans la fenêtre de sortie? WPF se plaint généralement là au lieu de simplement échouer le programme.

+0

Oui il y a. Msgstr "Impossible de récupérer la valeur à l 'aide de la liaison et aucune valeur de remplacement valide n'existe; Le getter n'est jamais appelé, c'est pourquoi c'est si étrange. Je suppose que c'est un problème de synchronisation, mais je ne suis pas sûr et même si c'est, je n'ai aucune idée de ce qu'il faut faire. – kubal5003

0

Le problème peut être lié à votre utilisation de IsAsync et à certains problèmes de gestion d'un résultat non valide par la propriété cible. Vous pouvez essayer de vous débarrasser du paramètre IsAsync ou d'utiliser un PriorityBinding pour définir une valeur par défaut plus sûre à utiliser en attendant le chargement asynchrone.

+0

Merci pour votre réponse. Malheureusement, cela ne résout pas le problème. IsAsync était juste une preuve de moi essayant toutes les combinaisons de paramètres qui étaient possibles. – kubal5003