WPFでは、提供されたアイテムのリストに基づいて合計、平均値を表示したいと思います。
たとえば、Salaryプロパティを持つEmployeeオブジェクトがあり、従業員リストに基づいて合計給与を計算したいとします。また、従業員オブジェクトは、給与が編集されるアイテムコントロールにバインドされたデータであり、新しい従業員がリストに追加される場合があります。
誰かが私にこれを達成するための解決策を提供できますか?
WPFでは、提供されたアイテムのリストに基づいて合計、平均値を表示したいと思います。
たとえば、Salaryプロパティを持つEmployeeオブジェクトがあり、従業員リストに基づいて合計給与を計算したいとします。また、従業員オブジェクトは、給与が編集されるアイテムコントロールにバインドされたデータであり、新しい従業員がリストに追加される場合があります。
誰かが私にこれを達成するための解決策を提供できますか?
LINQを使用すると、次のようなことを簡単に行うことができます。
var averageSalary = yourEmployeeList.Average(employee => employee.Salary);
Sumについても同じことが言えます。
私はこれを行います:
コードビハインドまたはViewModel(MVVMを使用している場合)で、AverageSalaryという新しい依存関係プロパティを作成します。
次に、従業員の給与を依存関係プロパティにも変更します。背後のコードでは、Employee.Salaryが変更されたときにリッスンできます。(詳細については、このリンクを参照してください)そして、変更されたら、上記のように平均を再計算し、作成したAverageSalary依存関係プロパティに割り当てます。
次に、UIをAverageSalaryプロパティにバインドするだけで、従業員の給与が変更されると更新されます。