別の依存関係プロパティの値を使用して値が計算される依存関係プロパティを登録するにはどうすればよいですか?
.NETプロパティラッパーは実行時にWPFによってバイパスされるため、ゲッターとセッターにロジックを含めるべきではありません。これに対する解決策は、通常、PropertyChangedCallback
sを使用することです。しかし、それらは静的であると宣言されています。
たとえば、この不自然なタスクを実行するための適切な方法は何ですか。
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));
依存関係が循環的でない限り、これを達成するための適切な手段はありますか?