Probleme Binding wpf [Résolu]

Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- - Dernière réponse : Whismeril
Messages postés
12338
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2018
- 3 déc. 2018 à 19:41
Bonjour à tous,
Je suis en train de créer un custom control wpf avec bien sur plusieurs Dependency Property.
Je rencontre un problème lors du binding sur une de ces propriétés de type decimal. Le binding fonctionne correctement (la valeur est bien affectée). Cependant les opérations qui doivent s'effectuer lors du changement de valeur ne s'effectue pas.
Après quelques recherches je ne comprends toujours pas d'où çà peut venir.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
1
Merci
Si j'ai bien compris ton code, il me semble qu'il manque quelque chose (et si ça marche comme en Silverlight).

Tu n'as pas déclaré de delegate sur le OnChange de ta valeur dans le UIPropertyMetadata.

Sébastien FERRAND
Consultant Sénior
Microsoft Visual C# MVP

Merci sebmafate 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources a aidé 112 internautes ce mois-ci

Whismeril
Messages postés
12338
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2018
-
Merci Sebmafate, presque 10 ans après tu me sauves, une fois de plus.
Commenter la réponse de sebmafate
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
Salut

Comment est déclarée ta propriété, peux-tu mettre le code STP.
Commenter la réponse de nhervagault
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
public decimal Value
{
get { return (decimal)GetValue(ValueProperty); }
set
{
if (value == Value) return;

value = value.Limit(MinValue, MaxValue);
SetValue(ValueProperty, value);
Format();
}
}

public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register(
"Value",
typeof(decimal),
typeof(CurrencyTextBox),
new UIPropertyMetadata(decimal.Zero));
Commenter la réponse de cs_GG29
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
Le format est déclaré comment.
Commenter la réponse de nhervagault
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
Voila le code qui fonctionne

public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register(
"Value",
typeof(decimal),
typeof(CurrencyTextBox),
new UIPropertyMetadata(
decimal.Zero,
(sender, args) =>
{
var ctb = sender as CurrencyTextBox;
if (ctb == null) return;

ctb.Format();
}));
Commenter la réponse de cs_GG29

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.