Проблема привязки данных в Windows Phone - PullRequest
0 голосов
/ 19 августа 2011

У меня есть автоматически сгенерированный класс A, который выглядит следующим образом.

class A
{
    string name;
    int totalCount;
}

Я запрашиваю базу данных, чтобы получить список объектов, который имеет наибольшее количество обновлений totalCount.

На стороне клиента я храню последний раз, когда база данных запрашивалась, поэтому для каждого объекта A у меня есть предыдущий totalCount.

В шаблоне listBox я хочу показать разницу между двумя totalCounts, как я могу легко добиться этого с помощью привязки данных?

1 Ответ

0 голосов
/ 19 августа 2011
class A
{
    string name;
    int totalCount;
}
class Differences
{
    string name;
    int oldCount;
    int newCount;
    int differenceInCount;
}
//this has been set somewhere
private List<A> previousValues;
//assume this is going to be set with the next call.
private List<A> updatedValues;

//A listbox can be bound to the result of this function.
private List<Differences> CalculateDifference(){
    List<Differences> retval = new List<Differences>;
    Differences temp;
    foreach(A updated in updatedValues)
    {
        foreach(A previous in previousValues){
            if(updated.name == previous.name){
                temp = new Differences;
                temp.name = updated.name;
                temp.oldCount = previous.totalCount;
                temp.newCount = updated.totalCount;
                temp.differenceInCount = temp.newCount - temp.oldCount;
                retval.Add(temp);
                break;
            }
        }
    }
    return retval();
}
...