How to disable auto-stretching on Windows?

So, basically what I did is set AllowUserResizing to true, but now when the window size changes, the game inside it just resizes to fit the window. How do I disable this(linux has this disabled by default)?

When you resize the window, the framebuffer size will change. How big your game draws in there is decided by your code.

How are you drawing, how does it go wrong?
Screenshots would help.

This should explain it…
I like the linux behavior.

Windows:





Linux:




Code:

#region Using Statements
using System;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Storage;
using Microsoft.Xna.Framework.Input;

#endregion

namespace Game1
{
	/// <summary>
	/// This is the main type for your game
	/// </summary>
	public class Game1 : Game
	{
		GraphicsDeviceManager graphics;
		SpriteBatch spriteBatch;
		Texture2D tex;

		public Game1 ()
		{
			this.Window.AllowUserResizing = true;
			graphics = new GraphicsDeviceManager (this);
			Content.RootDirectory = "Content";	            
			graphics.IsFullScreen = true;		
		}

		/// <summary>
		/// Allows the game to perform any initialization it needs to before starting to run.
		/// This is where it can query for any required services and load any non-graphic
		/// related content.  Calling base.Initialize will enumerate through any components
		/// and initialize them as well.
		/// </summary>
		protected override void Initialize ()
		{
			// TODO: Add your initialization logic here
			base.Initialize ();
				
		}

		/// <summary>
		/// LoadContent will be called once per game and is the place to load
		/// all of your content.
		/// </summary>
		protected override void LoadContent ()
		{
			// Create a new SpriteBatch, which can be used to draw textures.
			spriteBatch = new SpriteBatch (GraphicsDevice);

			tex = Content.Load<Texture2D> ("0");
			//TODO: use this.Content to load your game content here 
		}

		/// <summary>
		/// Allows the game to run logic such as updating the world,
		/// checking for collisions, gathering input, and playing audio.
		/// </summary>
		/// <param name="gameTime">Provides a snapshot of timing values.</param>
		protected override void Update (GameTime gameTime)
		{
			// For Mobile devices, this logic will close the Game when the Back button is pressed
			if (GamePad.GetState (PlayerIndex.One).Buttons.Back == ButtonState.Pressed) {
				Exit ();
			}
			// TODO: Add your update logic here			
			base.Update (gameTime);
		}

		/// <summary>
		/// This is called when the game should draw itself.
		/// </summary>
		/// <param name="gameTime">Provides a snapshot of timing values.</param>
		protected override void Draw (GameTime gameTime)
		{
			graphics.GraphicsDevice.Clear (Color.CornflowerBlue);
		
			spriteBatch.Begin ();
			spriteBatch.Draw (tex, new Vector2 (100, 100), Color.White);
			spriteBatch.End ();
			//TODO: Add your drawing code here
            
			base.Draw (gameTime);
		}
	}
}

Weird that they behave differently.
I’m guessing that this is the windows DX version? (Not the WindowsGL one)

I am so dumb sometimes…, yea DX version, well with opengl version I will not have that problem, Thanks for helping.

No worries. Interesting that the behaviour is different between the two, that is probably a monogame bug.