我目前正在为 Windows Phone 构建一个测量单位转换应用程序。设置好我的用户界面后,我将数据绑定添加到两个文本框,每个文本框都显示一个测量值。(例如华氏<->摄氏度)
到目前为止,一切都很好。但是,当我部署我的应用程序时,我遇到了循环依赖。每当我更新一个值时,都会调用转换函数并更新另一个单元。因此,设置它的值会导致转换函数再次运行。
我能做些什么来避免这种依赖?我想它更多的是概念性的东西而不是实际的编程。谢谢
示例代码
private float _fahrenheit;
private float _celsius;
public float Fahrenheit {
get { return _fahrenheit; }
set {
_fahrenheit = value;
FahrenheitToCelsius();
}
}
public float Celsius
{
get { return _celsius; }
set
{
_celsius = value;
CelsiusToFahrenheit();
}
}
private void CelsiusToFahrenheit()
{
Fahrenheit = _celsius * 1.8f + 32.0f;
}
private void FahrenheitToCelsius()
{
Celsius = ((_fahrenheit - 32.0f) * 5.0f) / 9.0f;
}