2009-07-28 3 views
6

Я изучаю Silverlight 3 и во всех своих тестах, когда я нажимаю кнопку обновления браузера, приложение SL перезапускается.Как поддерживать сервер состояния приложения Silverlight, чтобы пользователь нажал кнопку обновления браузера?

Есть ли способ избежать этого?

ответ

6

Изолированные хранения. Вы можете сэкономить настройки и состояние приложения там ...

http://silverlight.net/learn/learnvideo.aspx?video=65677

Я бы рекомендовал создать свой SilverLight приложение таким образом, что позволяет экономить достаточное состояние, что обновление приведет пользователь обратно к значимому месту.

вы можете захотеть взглянуть на Silverlight3 Навигации: http://www.davidpoll.com/?p=88

Если вы испытываете огромную проблему с пользователем обновив приложение, вы могли бы попытаться выскочить новое окно браузера, которое не имеет Menubar и панели инструментов .. ., но вы столкнетесь блокировки всплывающих окон ...

http://www.webdevelopersnotes.com/tutorials/javascript/creating_opening_new_window_pop_ups_javascript.php3

3

AFAIK вы не можете отменить перезапуск приложения, как это. Что вы можете сделать, так это обработать событие Exit в App.xaml.cs и сохранить настройки в IsoStore, как было предложено выше, а затем загрузить их в событие Startup (тот же класс). Я предполагаю, что вы можете сделать это плавным переходом, вернув их обратно в состояние, которое присутствовало во время события Exit.

2

Невозможно сохранить состояние «автоматически». Однако, используя navigation framework in SL3, вы можете достичь некоторого уровня состояния: когда вы нажмете «Обновить», приложение перезапустится, но перейдет на ту же страницу, что и раньше.

Нечто подобное происходит в Куинс: http://quince.infragistics.com/#/Search/ViewPattern $ шаблон = Действие + Ссылки

часть URL после # считывается приложением и позволяет перемещаться в том же месте всегда.

Это не сработает, если много данных сохранится, так как вам нужно сохранить состояние в URL-адресе. Тем не менее, имеет хороший побочный эффект, обеспечивающий глубокую привязку.

Смежные вопросы