Dependencia de la propiedad dependiente de otro.
¿Cómo se puede registrar una propiedad de dependencia cuyo valor se calcula utilizando el valor de otra propiedad de dependencia?
Debido a que WPF omite los envoltorios de propiedades .NET en tiempo de ejecución, uno no debe incluir la lógica en los captadores y definidores. La solución a eso es típicamente usarPropertyChangedCallback
s. Pero esos son declarados estáticos.
Por ejemplo, cuál es la forma correcta de realizar esta tarea artificial:
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));
Mientras la dependencia no sea circular, ¿existe un medio adecuado para lograr esto?