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


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.