public PositionViewModel(int x, int y, IPlayer player, GameViewModel gameVm)
 {
     Player = player;
     X = x;
     Y = y;
     GameVm = gameVm;
     GameVm.Game.Board.OnOccupy += BoardOnOnOccupy;
 }
 public GameBoardViewModel(GameViewModel gameVm)
 {
     GameVm = gameVm;
     Positions = new ObservableCollection<PositionViewModel>();
     for(var y = 0;y<3;y++)
     {
         for(var x = 0;x<3;x++)
         {
             var np = new PositionViewModel(x, y, GameVm.Game.Board.BoardPositions[y][x], GameVm);
             Positions.Add(np);
         }
     }
 }
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     Loaded -= OnLoaded;
     Vm = new GameViewModel();
     Vm.Start();
 }