Динамические обновления объектов в приложении Silverlight? - PullRequest
1 голос
/ 06 мая 2009

Может быть, я просто обдумал это и мне нужно написать еще несколько прототипов кода, но я хотел бы высказать некоторые ваши мысли:

По сути, приложение будет отображать до нескольких сотен пользовательских визуальных объектов в «сетке» X / Y. Положение и атрибуты некоторых из этих объектов могут меняться между обновлениями; приложение будет периодически получать обновления с помощью вызовов веб-службы, выполняемых примерно каждую минуту.

У меня вопрос, как лучше всего обрабатывать эти обновления на клиенте? Я рассмотрел либо поиск каждого объекта и его непосредственное обновление, либо создание «дерева» объектов данных, которое будет обновляться в фоновом потоке - после применения всех обновлений в фоновом режиме отображаемые объекты будут воссозданы на основе данных. в "дереве".

Может кто-нибудь предложить какие-либо предложения, так или иначе? Существуют ли какие-либо шаблоны дизайна Silverlight, которые могут подойти?

1 Ответ

3 голосов
/ 06 мая 2009

Я бы использовал слой данных и связался со свойствами в модели XAML - ala m-v-c - и основал бы ваши объекты на INotifyPropertyChanged, тогда пользовательский интерфейс будет обновлять их автоматически при обновлении ваших данных. Просто не забудьте сравнить новое значение с существующим значением

int SomeNumber 
{
    get { return this.m_someInt; }
    set { if ( value != this.m_someInt ) 
    {
        this.m_someInt = value;
        NotifyChange("SomeNumber");
    } 
}

NotifyChange( string propName )
{
.....
}
...