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 usarPropertyChangedCallbacks. 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?

questionAnswers(2)

yourAnswerToTheQuestion