我目前正在爲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;
}
您可以通過引用傳遞值,因爲每當它更新它時,它只會更新原始值。 –