public MainViewModel() : base() { if (!IsInDesignMode) { PagesHomeViewModel = new Pages.HomeViewModel(); PagesSearchViewModel = new Pages.SearchViewModel(); PagesChapterReaderViewModel = new Pages.ChapterReaderViewModel(); PagesSettingsViewModel = new Pages.SettingsViewModel(); Messenger.Instance.RegisterRecipient <BaseViewModel>(this, RequestingView => { if (!Equals(ContentViewModel, RequestingView)) { if (!Equals(ContentViewModel, null)) { ContentViewModel.LostFocus(); } ContentViewModel = RequestingView; RequestingView.Focused(); } }, "FocusRequest"); Messenger.Instance.RegisterRecipient <Boolean>(this, PullPreviousFocus => { if (!Equals(PreviousContentViewModel, null)) { if (PullPreviousFocus) { PreviousContentViewModel.PullFocus(); } } }, "PreviousFocusRequest"); ServicePointManager.DefaultConnectionLimit = App.ContentDownloadManager.MaxActiveDownloadCount; ActiveDownloadsTimer = new Timer(state => { // Monitor the ContentDownloadManager IsActive property App.RunOnUiThread(new Action(() => { if (!Equals(App.ContentDownloadManager.IsActive, DownloadsActive)) { DownloadsActive = App.ContentDownloadManager.IsActive; } })); }, null, TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(3)); PagesHomeViewModel.PullFocus(); } else { ContentViewModel = PagesHomeViewModel; } }