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] Valeur par défaut d'une DependencyProperty n'appelle pas le callback


Sujet :

Windows Presentation Foundation

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut [WPF] Valeur par défaut d'une DependencyProperty n'appelle pas le callback
    Bonjour à tous,

    J'ai créé un UserControl personnel qui représente une sorte de boîte de dialogue (cf pièce jointe).

    En particulier, il y a un Label (TitleLabel) pour le titre, et une TextBox (AmountOfMoneyField) pour y écrire.

    Je voulais personnaliser ces éléments à partir du XAML, du coup j'en ai fait des dependency property comme ceci :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
        public partial class TransferDialog : UserControl
        {
            private const String  DefaultText   = "Amount to transfer";
            private const Decimal DefaultAmount = 0m;
     
            public static readonly DependencyProperty TitleProperty =
                DependencyProperty.Register("Title", typeof(String), typeof(TransferDialog),
                                            new UIPropertyMetadata(DefaultText,
                                                                   new PropertyChangedCallback(OnTitleChanged)));
     
            public static readonly DependencyProperty ValueProperty =
                DependencyProperty.Register("Value", typeof(Decimal), typeof(TransferDialog),
                                            new UIPropertyMetadata(DefaultAmount, new PropertyChangedCallback(OnValueChanged)));
     
            public String Title
            {
                get { return GetValue(TitleProperty) as String; }
                set { SetValue(TitleProperty, value); }
            }
     
            public Decimal Value
            {
                get { return (Decimal) GetValue(ValueProperty); }
                set { SetValue(ValueProperty, value); }
            }

    Title pour le titre
    Value pour la valeur par défaut dans la textbox

    avec les callbacks qui vont bien pour notifier du changement :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void OnTitleChanged(DependencyObject o, DependencyPropertyChangedEventArgs args)
            {
                (o as TransferDialog).TitleLabel.Content = args.NewValue.ToString();
            }
     
            public static void OnValueChanged(DependencyObject o, DependencyPropertyChangedEventArgs args)
            {
                (o as TransferDialog).AmountOfMoneyField.Text = args.NewValue.ToString();
            }

    Le problème c'est que lors de la création de mon UserControl (TransferDialog), les valeurs par défaut ont bien été affectées, mais les callbacks ne sont pas appelés (qui permettent de dire au Label TitleLabel et à la TextBox AmountOfMoneyField).
    Du coup je sais pas comment transmettre automatiquement la valeur par défaut aux éléments qui composent mon UserControl, sans l'écrire à la main encore une fois !

    Merci d'avance pour vos réponses!
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/02/2006, 20h53
  2. Sélection valeur par défaut dans une zone de liste
    Par Cécile154 dans le forum IHM
    Réponses: 2
    Dernier message: 15/02/2005, 18h20
  3. Réponses: 2
    Dernier message: 06/07/2004, 17h46
  4. Valeur par défaut dans une table objet
    Par Ricky81 dans le forum Oracle
    Réponses: 12
    Dernier message: 18/03/2004, 11h52
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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