title: Why is my Matrix returning a Stack overflow?
body: <p>I'm very new to C# and am still learning all it's little quirks. I'm attempting to set up a camera which moves position based on a Left click and the mouse position, but am getting a Stack overflow with my current code, It looks like it should work from what I have read and seen but I just can't seem to locate the problem, </p>
  
  <p>any help would be appreciated.
  Here is my Camera class</p>
  
  <pre><code>class Camera
  {
      Vector2 viewPosition = Vector2.Zero;
  
      public Matrix viewMatrix
      {
          get { return viewMatrix; }
          set { return; }
      }
  
      public void Update(InputHandler inputHandler)
      {
          Vector2 mousePosition = inputHandler.MousePosition;
          bool LeftClick = inputHandler.LeftButton;
  
          if (LeftClick == true)
          {
              viewPosition = mousePosition;
          }
  
          viewMatrix = Matrix.CreateTranslation(viewPosition.X,viewPosition.Y, 0);
  
  
      }
  }
  </code></pre>
  
  <p>and my Draw method for the only objects currently being drawn.</p>
  
  <pre><code>        public void Draw(SpriteBatch spriteBatch, Texture2D sprite, Camera camera)
      {
          spriteBatch.Begin(SpriteSortMode.Deferred,BlendState.AlphaBlend,null,null,null,null,camera.viewMatrix);
          spriteBatch.Draw(sprite, spritePosition, null, Color.White,angle,origin,1.0f,SpriteEffects.None,0);
          spriteBatch.End();
  
      }
  </code></pre>