protected override void LoadContent()
{
this.IsMouseVisible = true;
SpriteFont font = Content.Load<SpriteFont>("Segoe_UI_10_Regular");
FontManager.DefaultFont = Engine.Instance.Renderer.CreateFont(font);
Viewport viewport = GraphicsDevice.Viewport;
basicUI = new BasicUI(viewport.Width, viewport.Height);
viewModel = new BasicUIViewModel();
viewModel.Tetris = new TetrisController(basicUI.TetrisContainer, basicUI.TetrisNextContainer);
basicUI.DataContext = viewModel;
debug = new DebugViewModel(basicUI);
FontManager.Instance.LoadFonts(Content);
ImageManager.Instance.LoadImages(Content);
SoundManager.Instance.LoadSounds(Content);
RelayCommand command = new RelayCommand(new Action<object>(ExitEvent));
KeyBinding keyBinding = new KeyBinding(command, KeyCode.Escape, ModifierKeys.None);
basicUI.InputBindings.Add(keyBinding);
RelayCommand tetrisLeft = new RelayCommand(new Action<object>(OnLeft));
KeyBinding left = new KeyBinding(tetrisLeft, KeyCode.A, ModifierKeys.None);
basicUI.InputBindings.Add(left);
RelayCommand tetrisRight = new RelayCommand(new Action<object>(OnRight));
KeyBinding right = new KeyBinding(tetrisRight, KeyCode.D, ModifierKeys.None);
basicUI.InputBindings.Add(right);
RelayCommand tetrisDown = new RelayCommand(new Action<object>(OnDown));
KeyBinding down = new KeyBinding(tetrisDown, KeyCode.S, ModifierKeys.None);
basicUI.InputBindings.Add(down);
RelayCommand tetrisRotate = new RelayCommand(new Action<object>(OnRotate));
KeyBinding rotate = new KeyBinding(tetrisRotate, KeyCode.W, ModifierKeys.None);
basicUI.InputBindings.Add(rotate);
}