いつでも起動できPropertyChanged
、バインディングエンジンがUIを更新します。
プロパティセッターで行う必要はありません。したがって、計算する方法ではtotal
、計算されたプロパティ名を使用してイベントを発生させるだけD_F_Percent
です。
サンプル CalculateTotal
メソッドを参照してください。
public class ViewModel : INotifyPropertyChanged
{
private double d_f;
public double D_F
{
get { return d_f; }
set { d_f = value; FirePropertyChanged("D_F"); }
}
private double total;
public double Total
{
get { return total; }
set { total = value; FirePropertyChanged("Total"); }
}
public Double D_F_Percent
{
get { return d_f / total; }
}
public void CalculateTotal()
{
//Do some calculation set total
FirePropertyChanged("D_F_Percent");
}
public event PropertyChangedEventHandler PropertyChanged;
public void FirePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}