Тип значення за замовчуванням не відповідає типу властивості


83

У мене цей клас

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

І це кешром контролю

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.