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 :

initialisation des dependency property


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut initialisation des dependency property
    voila j'ai une dependency property

    Code : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #region Value
    //----------------------------------------------------------------------------------------------------
    [Localizability(LocalizationCategory.Text)]
    publicdouble Value
    {
    get { return (double)base.GetValue(ValueProperty); }
    set { base.SetValue(ValueProperty, value); }
    }
    //----------------------------------------------------------------------------------------------------
    publicstaticreadonlyDependencyProperty ValueProperty =
    DependencyProperty.Register(
    "Value", typeof(double), typeof(SASVoltage),
    //new PropertyMetadata(false));
    newFrameworkPropertyMetadata((double)0,
    FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure,
    newPropertyChangedCallback(OnValueChanged),
    newCoerceValueCallback(CoerceValue)
    )
    );
    //----------------------------------------------------------------------------------------------------
    privatestaticvoid OnValueChanged(DependencyObject element, DependencyPropertyChangedEventArgs args)
    {
    element.CoerceValue(ValueProperty);
    }
    //----------------------------------------------------------------------------------------------------
    privatestaticobject CoerceValue(DependencyObject element, object value)
    {
    SASVoltage block = (SASVoltage)element;
    if (value == null) value = 0;
    block.SValue.Text = String.Format("{0:0.00} V",value);
    return value;
    }
    //----------------------------------------------------------------------------------------------------
    #endregion
    //----------------------------------------------------------------------------------------------------
    
    et vous pourrez constater que quand on change la valeur celle ci se formate vers un TextBox (nommé block)

    j'aimerais savoir si on peut forcer le passage dans la methode CoerceValue quand on a jamais modifié la dependency property

    bon je sais j'en entend deja qui vont me dire que je pourrais bien entendu
    - lancer la methode CoerceValue dans le constructeur
    - pourrait formater correctement la TextBox au debut (cela pose le probleme du separateur decimal ...)

    mais bon on peut etre puriste non ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    bon j'ai trouve une solution qui force la propriete bindé tout seul comme un grand
    il suffi dans la valeur par defaut de mettre l'inverse de celle ci
    et dans le constructeur de faire
    this.ma_dependency_property = valeur_par_defaut

    j'aurais prefere une solution plus sympa mais bon

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

Discussions similaires

  1. [Désérialisation] Ordre des dependency property
    Par al2000 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 15/10/2013, 14h38
  2. [Framework] Initialisation des beans Spring via un fichier properties
    Par lionel84 dans le forum Spring
    Réponses: 2
    Dernier message: 01/07/2011, 11h43
  3. Réponses: 5
    Dernier message: 21/07/2007, 12h30
  4. Réponses: 5
    Dernier message: 17/05/2005, 09h34
  5. initialisation des property page
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2004, 10h47

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