сохранить состояние Silverlight - PullRequest
0 голосов
/ 14 октября 2011

Я начинаю разрабатывать Silverlight для Windows Phone.Как я понял, представления xaml в silverlight не сохраняют состояния.

Как сохранить представление со списком, чтобы после его возврата мне не приходилось перезагружать данные в этом представлении?

Вот пример:

Допустим, у меня есть некоторые элементы списка, в которых есть фотографии, текст и т. Д. Из Интернета.При нажатии на элемент списка, я вхожу в подробный вид для соответствующего элемента.Когда я возвращаюсь, перезагрузка списка не эффективна (с точки зрения времени, обработки, бандвича и т. Д.).Как я могу сохранить это представление, чтобы мне не пришлось его перезагружать?Можно ли это сделать?

ОБНОВЛЕНИЕ : я только запустил таймер в представлении и перешел к другому, и когда я вернулся, таймер все еще работал (это был Threading.Timer)Так значит ли это, что представления не являются лицами без состояния и не уничтожаются при переходе к другим представлениям?

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Попробуйте использовать помощника Mat Laceys Tombstone, это позволяет очень легко сохранить состояние всех страниц Silverlight, фактически в большинстве случаев для каждой страницы требуется всего две строки кода.

WP7 Tombstone helper

1 голос
/ 14 октября 2011

Представления могут быть без состояния сами по себе , но ничто не мешает им быть привязанными к состояниям / данным, которые сохраняются в представлениях. Silverlight больше похож на настольное приложение, чем на приложение ASP.Net. Если ваш таймер в представлении все еще работает (что они и будут), то это потому, что представление все еще где-то кешируется (или сам таймер не позволяет расположить представление).

Проблемы с состоянием (в приложении WP7) больше связаны с ограниченным объемом вашей памяти, поэтому вы должны быть осторожны с тем, что у вас осталось.

Если ваше приложение закрывается и перезапускается, вам нужно будет вместо этого архивировать данные в изолированном хранилище (если вы не хотите перенаправлять их из Интернета каждый раз, когда они запускаются), но для сохранения в приложении, которое не работает к чему вы хотите привязаться между представлениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...