根据WPF中的项目列表计算总和,平均值

时间:2010-09-28 06:24:09

标签: wpf itemscontrol attached-properties

在WPF中,我想根据提供的项目列表显示总和,平均值。

例如,我有一个带有Salary Property的Employee对象,我想根据员工列表计算总薪水。此外,employee对象是绑定到Items控件的数据,其中将编辑Salary /可以将新Employee添加到列表中。

任何人都可以为我提供解决方案吗?

2 个答案:

答案 0 :(得分:1)

使用LINQ,你可以简单地按照

的方式做一些事情
var averageSalary = yourEmployeeList.Average(employee => employee.Salary);

同样适用于Sum。

答案 1 :(得分:1)

我会这样做:

在您的代码中或ViewModel(如果使用MVVM)创建一个名为AverageSalary的新依赖项属性。

然后将员工的薪水更改为依赖属性。在后面的代码中,您可以监听Employee.Salary何时更改。 (参见this link for details on that)当它发生变化时重新计算上面列出的平均值,然后将其分配给您创建的AverageSalary依赖项属性。

然后将您的UI绑定到AverageSalary属性,它应该随员工的工资变化而更新。