Я пытаюсь переопределить значение свойства зависимости, но оно, похоже, не работает.
В моем коде Xaml у меня есть кнопка со следующим CommandParameter:
CommandParameter="{Binding State,Mode=OneWay}
и здесь я объявляю свое свойство зависимости:
public class MyStateControl : UserControl
{
public MyStateControl()
{
this.InitializeComponent();
}
public string State
{
get { return (string)this.GetValue(StateProperty); }
set { this.SetValue(StateProperty, value); }
}
public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
"State", typeof(string), typeof(MyStateControl),new PropertyMetadata("DEFAULT"));
}
, а затем здесь я пытаюсь получить это значение, чтобы использовать его после переопределения.Когда я нажимаю кнопку, вызывается onMyCommandExecuted.и значение obj равно "DEFAULT"
public class MyAdvancedStateControl : INotifyPropertyChanged
{
public MyAdvancedStateControl()
{
MyStateControl.StateProperty.OverrideMetadata(typeof(MyAdvancedStateControl), new PropertyMetadata("Successfully overriden"));
}
private void onMyCommandExecuted(object obj)
{
//TODO
}
}
Я что-то не так делаю?Если так, каков наилучший способ переопределить значение свойства зависимости?И было бы возможно / вероятно лучше установить значение по умолчанию как переменную, которую я могу затем легко изменить с MyAdvancedStateControl?Спасибо