public void RefreshUI()
        {
            gridContents.Children.Clear();

            RoomData roomData = SecretBaseDatabase.GetRoomAt(index);


            Image room = new Image();

            room.HorizontalAlignment = HorizontalAlignment.Left;
            room.VerticalAlignment   = VerticalAlignment.Top;
            room.Width  = roomData.Image.PixelWidth;
            room.Height = roomData.Image.PixelHeight;
            room.Source = roomData.Image;

            gridContents.Children.Add(room);

            for (int x = 0; x < roomData.Width; x++)
            {
                for (int y = 0; y < roomData.Height; y++)
                {
                    Rectangle type = new Rectangle();
                    type.Width  = 16;
                    type.Height = 16;
                    type.HorizontalAlignment = HorizontalAlignment.Left;
                    type.VerticalAlignment   = VerticalAlignment.Top;
                    type.StrokeThickness     = 0;
                    type.Margin = new Thickness(16 * x, 16 * y, 0, 0);
                    type.Fill   = GetTypeColor(roomData.PlacementGrid[x, y]);
                    gridContents.Children.Add(type);
                }
            }

            Image trainer = new Image();

            trainer.HorizontalAlignment = HorizontalAlignment.Left;
            trainer.VerticalAlignment   = VerticalAlignment.Top;
            trainer.Width  = 16;
            trainer.Height = 24;
            trainer.Margin = new Thickness(16 * roomData.TrainerX, 16 * roomData.TrainerY - 8, 0, 0);
            trainer.Source = ResourceDatabase.GetImageFromName("MaleSecretBase0");
            gridContents.Children.Add(trainer);
        }