Der Standardwerttyp stimmt nicht mit dem Typ der Eigenschaft überein

82

Ich habe diese Klasse

public class Tooth
{
    public string Id {get;set;}
}

Und diese Branchenkontrolle

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)); 

}

Mein Problem ist, dass nach der Eigenschaft " Zahnabhängigkeit hinzufügen" dieser Fehler auftritt

Der Standardwerttyp stimmt nicht mit dem Typ der Eigenschaft überein

Was genau bedeutet dieser Fehler? Wie wird dies derzeit eingestellt?DP

Juan Pablo Gomez
quelle

Antworten:

160

Default valuedenn DPpasst nicht zu Ihrem Typ.

Veränderung

public static readonly DependencyProperty ToothProperty =
        DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI),
                                         new PropertyMetadata(0));

zu

public static readonly DependencyProperty ToothProperty =
        DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI),
                                      new PropertyMetadata(default(Tooth)));

Oder lassen Sie einfach die Einstellung des Standardwerts für Ihren DP weg:

public static readonly DependencyProperty ToothProperty =
        DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI));
Rohit Vats
quelle
2
Tks viel für Ihre Hilfe
Juan Pablo Gomez
1
Freut mich Juan zu helfen .. :)
Rohit Vats