Гораздо проще, если вы используете DispatcherTimer
, который работает в потоке Dispatcher (xaml), который является потоком, используемым для создания пользовательского интерфейса, тогда таймер не будет срабатывать, когда он блокируется другим действие выполняется в том же потоке.
Это действие может быть предыдущим вызовом WebGet (маловероятно, поскольку это будут асинхронные вызовы) или более вероятно, что то, что вы делаете с возвращаемыми значениями, может занять много времени, или некоторым страницам может потребоваться больше времени, чем другим, чтобы создать свой пользовательский интерфейс content, следовательно, событие Dispatcher может попасть в очередь и сработать, когда поток свободен.
Я предлагаю вам следовать архитектурному стилю MVVM при создании приложений Silverlight, выполняя это, вы можете запускать вызовы по таймеру и WebGet из вашей ViewModel, которая выполняется в другом потоке, который не зависит от пользовательского интерфейса, следовательно, не зависит от перехода стр.