Где-то вам нужно отследить, какова цена за единицу. Может быть, добавить еще один (редактируемый?) Столбец для этого. Каждый раз, когда вы меняете количество, оно должно умножать количество на цену за единицу и переводить это значение в цену. Затем всякий раз, когда изменяется количество, он также вычисляет сумму для этого элемента на основе цены за единицу, а затем обновляет сумму для всех элементов.
Я не знаком с классом DataGrid
, который вы используете, но я бы изменил вашу функцию, чтобы получить значение Qty и цену за единицу.
Там, где находится ваша строка // code goes here
, вам нужно умножить Qty * PricePerUnit и присвоить это значение PriceTotal для той же строки.
Если вы хотите сделать это хакерским, задом наперед, чтобы избежать добавления столбца Цена за единицу ...
price = (price / prevValue) * newValue;
... даст вам номер, если цена будет правильной с самого начала.