赤いボックスの金額を合計してテキストブロック (黄色いボックス) に表示するにはどうすればよいですか?
下の画像からわかるように、リストボックスにデータを表示するために、観察可能なコレクションをリストボックスにバインドしました
さらに、リストボックスのデータ テンプレートも定義しました。
赤いボックスの金額を合計してテキストブロック (黄色いボックス) に表示するにはどうすればよいですか?
下の画像からわかるように、リストボックスにデータを表示するために、観察可能なコレクションをリストボックスにバインドしました
さらに、リストボックスのデータ テンプレートも定義しました。
別のプロパティ (例: Sum
) を ViewModel に追加し、それをバインドして、コレクションが変更さTextBlock
れるたびにその値を計算する必要があります。ToDoBills
LINQ を使用して合計を計算できます。
Sum = ToDoBills.Sum(i => i.Amount);
アップデート
INotifyPropertyChanged
クラスにすでにインターフェイスを実装している可能性があるため、コレクションが変更されたときにプロパティ値ViewModel
を更新するために使用します。Sum
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
if(propertyName == "ToDoBills")
UpdateSumValue();
}
private void UpdateSumValue()
{
Sum = ToDoBills.Sum(i => i.Amount);
}