Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window, IMainWindowsCodeBehind
- {
- public delegate void ShowAlgorythm();
- public delegate void StopShowAlgorythm();
- public MainWindow()
- {
- InitializeComponent();
- this.Loaded += MainWindow_Loaded;
- }
- private void MainWindow_Loaded(object sender, RoutedEventArgs e)
- {
- //загрузка вьюмодел для кнопок меню
- MenuViewModel vm = new MenuViewModel();
- //даем доступ к этому кодбихайнд
- vm.CodeBehind = this;
- //делаем эту вьюмодел контекстом данных
- this.DataContext = vm;
- //загрузка стартовой View
- LoadView(ViewType.Main);
- }
- public void LoadView(ViewType typeView)
- {
- switch (typeView)
- {
- case ViewType.Main:
- //загружаем вьюшку, ее вьюмодель
- MainUC view = new MainUC();
- MainViewModel vm = new MainViewModel(this);
- //связываем их м/собой
- view.DataContext = vm;
- //отображаем
- this.OutputView.Content = view;
- break;
- case ViewType.Definition:
- DefinitionUC viewD = new DefinitionUC();
- DefinitionViewModel vmD = new DefinitionViewModel(this);
- viewD.DataContext = vmD;
- this.OutputView.Content = viewD;
- break;
- case ViewType.FoundEuler:
- FoundEulerUC viewFE = new FoundEulerUC();
- FoundEulerViewModel vmFE = new FoundEulerViewModel(this);
- viewFE.DataContext = vmFE;
- this.OutputView.Content = viewFE;
- viewFE.ShowAlgoEul += new ShowAlgorythm(PresentEulerAlgo);
- break;
- case ViewType.OreTheorem:
- OreTheoremUC viewOT = new OreTheoremUC();
- OreTheoremViewModel vmOT = new OreTheoremViewModel(this);
- viewOT.DataContext = vmOT;
- this.OutputView.Content = viewOT;
- break;
- case ViewType.DiraсTheorem:
- DiraсTheoremUC viewDT = new DiraсTheoremUC();
- DiraсTheoremViewModel vmDT = new DiraсTheoremViewModel(this);
- viewDT.DataContext = vmDT;
- this.OutputView.Content = viewDT;
- break;
- case ViewType.FindHamilton:
- FindHamiltonUC viewFH = new FindHamiltonUC();
- FindHamiltonViewModel vmFH = new FindHamiltonViewModel(this);
- viewFH.DataContext = vmFH;
- this.OutputView.Content = viewFH;
- viewFH.ShowAlgoHam += new ShowAlgorythm(PresentHamilAlgo);
- break;
- case ViewType.TSP:
- TSPUC viewTSP = new TSPUC();
- TSPViewModel vmTSP = new TSPViewModel(this);
- viewTSP.DataContext = vmTSP;
- this.OutputView.Content = viewTSP;
- viewTSP.ShowAlgoTSP += new ShowAlgorythm(PresentTSPAlgo);
- viewTSP.ShowAlgoChristo += new ShowAlgorythm(PresentChristoAlgo);
- break;
- case ViewType.Train:
- TrainUC viewT = new TrainUC();
- TrainViewModel vmT = new TrainViewModel(this);
- viewT.DataContext = vmT;
- this.OutputView.Content = viewT;
- break;
- case ViewType.FinalTestAutorization:
- FinalTestAutorizationUC viewFTA = new FinalTestAutorizationUC();
- FinalTestAutorizationViewModel vmFTA = new FinalTestAutorizationViewModel(this);
- viewFTA.DataContext = vmFTA;
- this.OutputView.Content = viewFTA;
- viewFTA.LogSucceed += new FinalTestAutorizationUC.LoginSucceed(ReactToAutorization);
- break;
- }
- }
- public void ShowMessage(string message)
- {
- MessageBox.Show(message);
- }
- public void ReactToAutorization()
- {
- FinalTestUC viewFT = new FinalTestUC();
- FinalTestViewModel vmFT = new FinalTestViewModel(this);
- viewFT.DataContext = vmFT;
- this.OutputView.Content = viewFT;
- viewFT.EndTest += new FinalTestUC.TestEnded(ReactToEndTest);
- }
- public void ReactToEndTest()
- {
- EndedTestUC viewET = new EndedTestUC();
- EndedTestViewModel vmET = new EndedTestViewModel(this);
- viewET.DataContext = vmET;
- this.OutputView.Content = viewET;
- buttonEndTest.Visibility = Visibility.Hidden;
- }
- public void PresentEulerAlgo()
- {
- DrawEuAlgoUC viewDAE = new DrawEuAlgoUC();
- DrawAlgoEuViewModel vmDAE = new DrawAlgoEuViewModel(this);
- viewDAE.DataContext = vmDAE;
- this.OutputView.Content = viewDAE;
- viewDAE.StopShow += new StopShowAlgorythm(PresentEulerUC);
- }
- public void PresentHamilAlgo()
- {
- DrawHaAlgoUC viewDAH = new DrawHaAlgoUC();
- DrawAlgoHaViewModel vmDAH = new DrawAlgoHaViewModel(this);
- viewDAH.DataContext = vmDAH;
- this.OutputView.Content = viewDAH;
- viewDAH.StopShow += new StopShowAlgorythm(PresentHamilUC);
- }
- public void PresentTSPAlgo()
- {
- DrawTSPAlgoUC viewDAT = new DrawTSPAlgoUC();
- DrawAlgoTSPViewModel vmDAT = new DrawAlgoTSPViewModel(this);
- viewDAT.DataContext = vmDAT;
- this.OutputView.Content = viewDAT;
- viewDAT.StopShow += new StopShowAlgorythm(PresentTSPUC);
- }
- public void PresentChristoAlgo()
- {
- DrawChristoAlgoUC viewDAC = new DrawChristoAlgoUC();
- DrawAlgoChristoViewModel vmDAC = new DrawAlgoChristoViewModel(this);
- viewDAC.DataContext = vmDAC;
- this.OutputView.Content = viewDAC;
- viewDAC.StopShow += new StopShowAlgorythm(PresentTSPUC);
- }
- public void PresentEulerUC()
- {
- FoundEulerUC viewFE = new FoundEulerUC();
- FoundEulerViewModel vmFE = new FoundEulerViewModel(this);
- viewFE.DataContext = vmFE;
- this.OutputView.Content = viewFE;
- viewFE.ShowAlgoEul += new ShowAlgorythm(PresentEulerAlgo);
- }
- public void PresentHamilUC()
- {
- FindHamiltonUC viewFH = new FindHamiltonUC();
- FindHamiltonViewModel vmFH = new FindHamiltonViewModel(this);
- viewFH.DataContext = vmFH;
- this.OutputView.Content = viewFH;
- viewFH.ShowAlgoHam += new ShowAlgorythm(PresentHamilAlgo);
- }
- public void PresentTSPUC()
- {
- TSPUC viewTSP = new TSPUC();
- TSPViewModel vmTSP = new TSPViewModel(this);
- viewTSP.DataContext = vmTSP;
- this.OutputView.Content = viewTSP;
- viewTSP.ShowAlgoTSP += new ShowAlgorythm(PresentTSPAlgo);
- viewTSP.ShowAlgoChristo += new ShowAlgorythm(PresentChristoAlgo);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement