IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

[WPF] Problème avec DependencyProperty


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut [WPF] Problème avec DependencyProperty
    Salut,
    J'ai un problème assez bizarre... j'ai créé une fenêtre en XAML, et dans le code C# de la fenêtre, j'ai créé une DependencyProperty.
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            public UserIdentity Identity
            {
                get { return (UserIdentity)GetValue(IdentityProperty); }
                private set { SetValue(IdentityProperty, value); }
            }
     
            // Using a DependencyProperty as the backing store for Identity.  This enables animation, styling, binding, etc...
            public static readonly DependencyProperty IdentityProperty =
                DependencyProperty.Register("Identity", typeof(UserIdentity), typeof(IMClientUI), new UIPropertyMetadata(0));
    Le problème c'est qu'à partir du moment où il y a cette propriété, mon appli ne démarre plus... elle se lance, exécute DependencyProperty.Register, et se termine immédiatement. D'après la sortie Debug du programme, il se produit une exception, mais qui n'est pas interceptée pas le debugger (en tous cas il ne s'arrête pas dessus...):
    A first chance exception of type 'System.ArgumentException' occurred in WindowsBase.dll
    Une idée de ce qui se passe ? A priori c'est le DependencyProperty.Register qui plante, mais je ne vois pas du tout ce qui ne va pas...

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Il y a de forte chance que ce soit à cause du dernier paramètre que tu as spécifié dans le Register: il s'agit de la valeur par défaut de la property. Là, tu lui dit que la valeur par défaut, c'est 0 or si ta property n'est pas de type int, ca plante.

    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public UserIdentity Identity
            {
                get { return (UserIdentity)GetValue(IdentityProperty); }
                private set { SetValue(IdentityProperty, value); }
            }
     
            // Using a DependencyProperty as the backing store for Identity.  This enables animation, styling, binding, etc...
            public static readonly DependencyProperty IdentityProperty =
                DependencyProperty.Register("Identity", typeof(UserIdentity), typeof(IMClientUI), new UIPropertyMetadata(null));

    A+


    PS: A en juger par les nom des classes/prop/etc.., tu ne serais pas en train de faire un chat en WPF ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il y a de forte chance que ce soit à cause du dernier paramètre que tu as spécifié dans le Register: il s'agit de la valeur par défaut de la property. Là, tu lui dit que la valeur par défaut, c'est 0 or si ta property n'est pas de type int, ca plante.
    C'était bien ça, merci beaucoup !
    Ce bout de code a été généré par le snippet "propdp", et j'ai même pas pensé à cherché la signification des paramètres... hum

    PS: A en juger par les nom des classes/prop/etc.., tu ne serais pas en train de faire un chat en WPF ?
    Absolument
    Cela dit, pour la partie UI j'aurais aussi bien pu utiliser WinForms, ce qui m'intéresse en l'occurrence c'est plutôt l'utilisation de WCF pour la communication avec le serveur. Et à première vue ça me plait bien, c'est beaucoup moins galère à mettre en place que le remoting, c'est mieux conçu, plus souple...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/03/2014, 09h50
  2. WPF Toolkit et problème avec la propriété DataFieldBinding
    Par titourock dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 23/09/2009, 18h03
  3. [WPF] problème pour binder un treview avec un XDocument.
    Par maa dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 28/01/2008, 14h59
  4. [WPF] problème avec un GridSplitter
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 21/10/2007, 17h44
  5. [WPF] Problème avec Trigger
    Par Heroes dans le forum C#
    Réponses: 7
    Dernier message: 16/07/2007, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo