J'ai cette classe
public class Tooth
{
public string Id {get;set;}
}
Et ce contrôle custrom
public partial class ToothUI : UserControl
{
public ToothUI()
{
InitializeComponent();
}
public Tooth Tooth
{
get { return (Tooth)GetValue(ToothProperty); }
set
{
SetValue(ToothProperty, value);
NombrePieza.Text = value.Id.Replace("_",String.Empty);
}
}
public static readonly DependencyProperty ToothProperty =
DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI), new PropertyMetadata(0));
}
Mon problème est après Add propriété de dépendance des dents, cette erreur se produit
Le type de valeur par défaut ne correspond pas au type de la propriété
Que signifie exactement cette erreur? Quelle est la façon actuelle de définir ce DP
Default value
pour DP
ne correspond pas à votre type.
Changement
public static readonly DependencyProperty ToothProperty =
DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI),
new PropertyMetadata(0));
à
public static readonly DependencyProperty ToothProperty =
DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI),
new PropertyMetadata(default(Tooth)));
Ou omettez simplement de définir la valeur par défaut pour votre DP:
public static readonly DependencyProperty ToothProperty =
DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI));
Je suis venu ici pour le titre de la question mais mon type était une valeur par défaut décimale et j'ai résolu avec ce 0,0M https://msdn.Microsoft.com/en-us/library/83fhsxwc.aspx