最初に、いくつかのコードを使用して問題を説明します。
class ExampleClass
{
    private Vector2 _myVector;
    public Vector2 MyVectorProperty { get { return _myVector; } set { _myVector = value; } }
    private void MyMethod()
    {
        _myVector = Vector2.Zero; // Setting to zero
        MyVectorProperty.X = 5; //Cannot modify the expression because it is not a variable (returns an error)
        _myVector.X = 5; //Works fine!
    }
}
ご覧のとおり、プロパティを使用してベクトルの X と Y の値を変更しようとすると、「変数ではないため式を変更できません」というエラーが表示されます。なぜこれが起こるのかよくわかりませんし、ネットを見てもうまくいきませんでした。
別の副次的な質問です。パブリック プロパティまたはプライベート/保護されたフィールドを、それらが属するクラス内で作業するときに使用することは、適切なプログラミング方法ですか?