Dependência Propriedade dependente de outro
Como se pode registrar uma propriedade de dependência cujo valor é calculado usando o valor de outra propriedade de dependência?
Como os wrappers de propriedade .NET são ignorados pelo WPF em tempo de execução, não se deve incluir lógica nos getters e setters. A solução para isso é normalmente usarPropertyChangedCallback
s. Mas esses são declarados estáticos.
Por exemplo, qual é a maneira correta de realizar essa tarefa planejada:
public bool TestBool
{
get { return (bool)GetValue(TestBoolProperty); }
set
{
SetValue(TestBoolProperty, value);
TestDouble = ((value)?(100.0):(200.0)); // HERE IS THE DEPENDENCY
}
}
public static readonly DependencyProperty TestBoolProperty =
DependencyProperty.Register("TestBool", typeof(bool), typeof(ViewModel));
public double TestDouble
{
get { return ((double)GetValue(TestDoubleProperty)); }
set { SetValue(TestDoubleProperty, value); }
}
public static readonly DependencyProperty TestDoubleProperty =
DependencyProperty.Register("TestDouble", typeof(double), typeof(ViewModel));
Enquanto a dependência não for circular, existe um meio adequado para realizar isso?