Объект должен отправить сообщение на MainPage - PullRequest
0 голосов
/ 22 апреля 2011

У меня есть класс Target и статическое свойство в другом классе, которое называется points.Каждый раз, когда пользователь попадает в цель, я хочу увеличить очки.Причина, по которой я поместил points в другой статический класс, заключается в том, что каждый объект Target может получить к нему доступ.Проблема в том, что текстовый блок, отображающий точки, существует в главной странице, а не в каждом целевом объекте.Поскольку я не могу связать свой XAML со статическим свойством, как я могу сделать так, чтобы каждый объект Target мог как-то сообщить MainPage, что он должен обновить текстовый блок точек?спасибо за любой совет

Ответы [ 2 ]

1 голос
/ 22 апреля 2011

Вы можете полностью применить шаблон MVVM здесь. Если есть статическая ViewModel , связанная с главным окном, вы можете подавать уведомление каждый раз, когда изменяется свойство, и Представления (все связанные окна, которые отображают данные) будут быть автоматически обновленным (перепривязанным).

Я бы порекомендовал проверить фреймворк Лорана Бюньона MVVM Light . Он проделал большую часть этой сантехники для вас, поэтому все, что нужно сделать с вашей стороны, это соединить детали и правильно их связать.

Некоторые ресурсы, которые стоит проверить в вашей ситуации:

Если вам нужны образцы, посмотрите здесь .

0 голосов
/ 22 апреля 2011

Находятся ли класс Target и AnotherClass.points в одном и том же пространстве имен?Если это так, может быть следующее поможет:

/* In Window class */
Window w = new Window();

/* function where Target get hit */
w = this;
/* code to update points */
w.textbox1.Text = AnotherClass.points.ToString();
...