protected override async void OnInitialized(EventArgs e) { var tileProvider = new AttendeeFileListTileProvider(); var vm = new MainWindowViewModel(tileProvider); await vm.InitAsync(); InitialiseGrid(vm); KeyDown += MainWindow_KeyDown; vm.OnWinnerSelected += OnWinnerSelected; DataContext = vm; base.OnInitialized(e); }
void MainWindow_KeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Space: { var vm = DataContext as MainWindowViewModel; vm?.StartNextMode(); break; } case Key.Escape: { var vm = DataContext as MainWindowViewModel; vm?.Restart(); while (Canvas.Children.Count > 0) { Canvas.Children.Remove(Canvas.Children[0]); } break; } case Key.F5: { var sourceTileProvider = new AttendeeMeetupComTileProvider(Settings.Default); var targetTileProvider = new AttendeeFileListTileProvider(); var dialogServer = new DialogService(); var wnd = new MeetupDotComSync { DataContext = new MeetupDotComSyncViewModel(sourceTileProvider, targetTileProvider, dialogServer) }; wnd.ShowDialog(); break; } } }