Тип значения по умолчанию не соответствует типу свойства

83

У меня есть этот класс

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

И этот контроль 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)); 

}

Моя проблема в том, что после свойства зависимости Add Tooth возникает эта ошибка

Тип значения по умолчанию не соответствует типу свойства

Что именно означает эта ошибка? Каким сейчас способом установить этоDP

Хуан Пабло Гомес
источник

Ответы:

163

Default value за DP не соответствует вашему типу.

+ Изменить

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

Или просто опустите установку значения по умолчанию для вашего DP:

public static readonly DependencyProperty ToothProperty =
        DependencyProperty.Register("Tooth", typeof(Tooth), typeof(ToothUI));
Рохит Чаны
источник
2
Большое спасибо за вашу помощь
Хуан Пабло Гомес
1
Рад помочь Хуану .. :)
Rohit Vats