public Page5() { InitializeComponent(); PageLogic = Page5ViewModel; ViewModel = Page5ViewModel; }
private void LoadMenuItem_OnClick(object sender, RoutedEventArgs e) { OpenFileDialog loadDialog = new OpenFileDialog(); loadDialog.Title = "Load EPIC form"; loadDialog.Filter = "EPIC forms (*.ef)|*.ef|All Files (*.*)|*.*"; if (loadDialog.ShowDialog() != true) { return; } try { using (FileStream stream = File.OpenRead(loadDialog.FileName)) { BinaryFormatter formatter = new BinaryFormatter(); // get the type bool wasAlternate = _isAlternate; _isAlternate = (bool)formatter.Deserialize(stream); ((Page1)Pages[0]).SetViewModel(Page1ViewModel.Load(stream, formatter)); ((Page2)Pages[1]).SetViewModel(Page2ViewModel.Load(stream, formatter)); if (_isAlternate) // alternate page { if (!wasAlternate) // change page 3 to alternate { Pages[2] = new Page3Alternate(); } ((Page3Alternate)Pages[2]).SetViewModel(Page3ViewModelAlternate.Load(stream, formatter)); } else // Normal page now { if (wasAlternate) // change page 3 to the normal page { Pages[2] = new Page3(); } ((Page3)Pages[2]).SetViewModel(Page3ViewModel.Load(stream, formatter)); } ((Page4)Pages[3]).SetViewModel(Page4ViewModel.Load(stream, formatter)); ((Page5)Pages[4]).SetViewModel(Page5ViewModel.Load(stream, formatter)); if (_isAlternate) // alternate page { if (!wasAlternate) // change page 6 to alternate { Pages[5] = new Page6Alternate(); } ((Page6Alternate)Pages[5]).SetViewModel(Page6ViewModelAlternate.Load(stream, formatter)); } else // Normal page now { if (wasAlternate) // change page 6 to the normal page { Pages[5] = new Page6(); } ((Page6)Pages[5]).SetViewModel(Page6ViewModel.Load(stream, formatter)); } ((Page7)Pages[6]).SetViewModel(Page7ViewModel.Load(stream, formatter)); logic.Pages[0] = ((IPageInterface)Pages[0]).ViewModel; logic.Pages[1] = ((IPageInterface)Pages[1]).ViewModel; logic.Pages[2] = ((IPageInterface)Pages[2]).ViewModel; logic.Pages[3] = ((IPageInterface)Pages[3]).ViewModel; logic.Pages[4] = ((IPageInterface)Pages[4]).ViewModel; logic.Pages[5] = ((IPageInterface)Pages[5]).ViewModel; logic.Pages[6] = ((IPageInterface)Pages[6]).ViewModel; } CurrentPage = _currentPage; MessageBox.Show("Loading complete."); } catch (Exception exception) { MessageBox.Show("There was an issue opening the file: " + exception.Message, "ERROR"); } }
public void SetViewModel(IPageViewModel model) { ViewModel = model; DataContext = ViewModel; PageLogic = model as Page5ViewModel; }