locked
Problème de Binding d'une proprieté dans un usercontrol RRS feed

  • Question

  • Bonjour, je suis en train de me battre avec un user contrôle :-(

     

    Mon problème est que le binding d'une proprieté (IsTrial="{Binding trial}") marche pas alors que si je mets en dur la valeur (IsTrial="True") ca marche. Je n'ai pas besoin de l'afficher dans le usercontrol mais juste de m'en servir pour modifier l'affichage du contrôle.
    Voici le code de la dependency :

    Public Shared ReadOnly TrialProperty As DependencyProperty = _ DependencyProperty.Register("IsTrial", _ GetType(Boolean), _ GetType(Start), _ Nothing)
    Public Property IsTrial() As Boolean Get Return CBool(GetValue(TrialProperty)) End Get Set(ByVal value As Boolean) SetValue(TrialProperty, value) End Set End Property

    => Systematiquement en binding, ca prend la valeur par defaut

    J'ai essayé ca dans mon contructeur de control :
    DirectCast(Me.Content, FrameworkElement).DataContext = Me
    et
    Me.DataContext = Me

    mais rien n'y fait, en binding, le set de ma dependency n'est pas appellé....

    Est ce que quelqu'un aurait une idée?

    Merci d'avance
    Olivier

    vendredi 1 novembre 2013 13:12

Réponses

  • Bon, j'ai contourné le problème en affectant les valeur directement aux propriétés dans le constructeur de ma page.

    Je retenterais de faire propre dans quelques temps et lorsque j'aurais un besoin incontournalbe
    • Marqué comme réponse Aurel Bera lundi 4 novembre 2013 07:43
    vendredi 1 novembre 2013 15:13

Toutes les réponses

  • Are you sure that your usercontrol has a property named "trial"?

    S'il vous plaît n'oubliez pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    vendredi 1 novembre 2013 14:00
  • Bonjour

    Vous avez mis Public Shared ReadOnly TrialProperty

    Ici vous avez les détails sur ce shared : http://msdn.microsoft.com/fr-fr/library/zc2b427x.aspx

    Vous avez vraiment besoin de ça? Même pour un petit teste vous pouvez l’enlever pour voir si on a le comportement correcte. 

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 1 novembre 2013 14:05
  • J'ai déjà essayé. si j'enleve, ca plante à l'execution :

    Une exception de type 'System.IO.FileNotFoundException' s'est produite dans mscorlib.ni.dll et n'a pas été traitée avant une limite managée/native

    Une exception de type 'MS.Internal.NativeParseException' s'est produite dans System.Windows.ni.dll et n'a pas été traitée avant une limite managée/native

    Une exception de type 'System.Reflection.TargetInvocationException' s'est produite dans mscorlib.ni.dll et n'a pas été traitée avant une limite managée/native

    Une exception de type 'System.Reflection.TargetInvocationException' s'est produite dans Microsoft.Phone.ni.dll et n'a pas été traitée avant une limite managée/native

    Une exception de type 'System.Reflection.TargetInvocationException' s'est produite dans Microsoft.Phone.ni.dll et n'a pas été traitée avant une limite managée/native

    vendredi 1 novembre 2013 14:36
  • La vrai question, c'est pourquoi le set de ma dépendency n'est pas appellé lorsqu'il y a du binding alors que ca marche bien si je mets en dur la valeur ??!!???!!!????
    vendredi 1 novembre 2013 14:39
  • Je me suis précipité avec la réponse, c'est normale d'être PublicSharedReadOnly. Désolé.


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.


    • Modifié Aurel Bera vendredi 1 novembre 2013 15:03
    vendredi 1 novembre 2013 15:02
  • Bon, j'ai contourné le problème en affectant les valeur directement aux propriétés dans le constructeur de ma page.

    Je retenterais de faire propre dans quelques temps et lorsque j'aurais un besoin incontournalbe
    • Marqué comme réponse Aurel Bera lundi 4 novembre 2013 07:43
    vendredi 1 novembre 2013 15:13