3

我如何总结红色框中的金额并将其显示在文本块(黄色框)中?

在此处输入图像描述

如下图所示,我已将我的 observable 集合绑定到列表框,以便在列表框中显示数据

列表框

此外,我还为列表框定义了数据模板。

在此处输入图像描述

4

1 回答 1

1

您必须将另一个属性(例如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);
}
于 2013-03-18T10:48:56.850 回答