ContentPropertyを「テキスト」に設定する際に問題があります。私は次のエラーが発生しました:'Text'プロパティのContentPropertyAttributeが無効です
'MyType'タイプのContentPropertyAttributeが無効です。プロパティ 'Text'が見つかりません。
コードが背後にある次のようになります。私がしたDependencyProperty以外のCLRプロパティ何か名前場合
[ContentProperty("Text")]
public partial class MyType: UserControl
{
public MyType()
{
InitializeComponent();
}
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text",
typeof (string),
typeof(MyType)));
public static string GetText(DependencyObject d)
{
return (string) d.GetValue(TextProperty);
}
public static void SetText(DependencyObject d, string value)
{
d.SetValue(TextProperty, value);
}
public string Text
{
get
{
return (string)GetValue(TextProperty);
}
set
{
SetValue(TextProperty, value);
}
}
}
は、私は実際にそれが動作するようになってきた - 私は間違ってDependencyPropertiesを使用していますか?
申し訳ありませんが、それは私がそれに従うことを容易にするためにタイプ名を整理していただけでした。 typeof(MyType)とします。 –
「新しいPropertyMetadata(false))」を変更する必要があります。 「new PropertyMetadata(null))」などの文字列値に変換します。 – micahtan
実際、GetTextとSetTextを削除するとエラーが取り除かれます。 – rmoore