private void BuildStateFromIsoStore() { state = ThreadViewPageState.Load(); if (state == null) { BuildStateFromNavigationQuery(); } else { bool refresh = viewmodel.Thread == null || viewmodel.Thread.ThreadID != state.ThreadID; refresh = refresh && (viewmodel.SelectedItem == null || viewmodel.SelectedItem.PageNumber != state.PageNumber); if (refresh) { this.viewmodel.UpdateModel(state); this.DataContext = viewmodel; this.GoToIndex(state.PageNumber); } } }