1. ホーム
  2. c#

[解決済み] デフォルトの値の型がプロパティの型と一致しない

2023-03-29 11:54:04

質問

私はこのクラスを持っています

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

}

私の問題は 歯牙依存性プロパティ を追加すると、このエラーが発生します。

デフォルトの値の型がプロパティの型と一致しません。

このエラーはいったい何を意味しているのでしょうか?現在の設定方法は、この DP

どのように解決するのですか?

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