public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(MyClass), new PropertyMetadata(string.Empty));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
.
편집 :
글쎄, 정말이 문제를 해결하고 싶습니다. 나는 솔루션에서 가장 올바른 것으로 보이지 않는다고 생각하고 함께 개선하려고 노력할 수 있습니다. 하면 기본 클래스에서이 작업을 수행 :
public virtual void DefineDefaultValue(object default)
{
defaultValue = default;
OnPropertyChanged("MyProperty");
}
static object defaultValue;
public static object Define()
{
return defaultValue;
}
public int MyProperty
{
get { return (int)GetValue(MyPropertyProperty); }
set { SetValue(MyPropertyProperty, value); }
}
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.Register("MyProperty", typeof(int), typeof(MainMenuBase), new PropertyMetadata((int)Define()));
모든 후, 당신의 클래스 생성자에서이 작업을 수행 : 귀하의 답변에 대한
public void ClassConstructor()
{
DefineDefaultValue("BlaBlaBla");
}
public override void DefineDefaultValue(object default)
{
base.DefineDefaultValue(default);
}
감사합니다. 하지만 내 경우에는 내 컨트롤이 이미 DefaultValue string.Empty있는 TextProperty있는 다른 컨트롤에서 상속됩니다. 나는 지금 내 컨트롤에서 "blabla"와 같이 DefaultValue 만 변경하고 싶습니다. 새 속성을 만들지 마라! – BennoDual
오, 죄송합니다. 나는 대답을 찾았지만 찾지 못했습니다. 로컬 값을 설정하면 도움이되지 않습니까? – Vinicius
지금 편집 ...보세요. – Vinicius