public MainWindow()
 {
     InitializeComponent();
     _gameBoy = new GameBoy();
     _keyboardHandler = new KeyboardHandler();
     _mainWindowViewModel = new GameBoyViewModel(_gameBoy,
                                                 new DispatcherAdapter(this),
                                                 new WindowAdapter(this),
                                                 new OpenFileDialogAdapterFactory(),
                                                 _keyboardHandler);
     this.DataContext = _mainWindowViewModel;
 }
 /// <summary>
 /// Initializes a new instance of the ControlsViewModel class.
 /// </summary>
 public ControlsViewModel(GameBoyViewModel gameboyViewModel, ButtonMapping mapping)
 {
     _gameboyViewModel = gameboyViewModel;
     _mapping = mapping;
     SetMode = false;
 }
 /// <summary>
 /// Initializes a new instance of the ControlsViewModel class.
 /// </summary>
 public ControlsViewModel(GameBoyViewModel gameboyViewModel, ButtonMapping mapping)
 {
     _gameboyViewModel = gameboyViewModel;
     _mapping          = mapping;
     SetMode           = false;
 }