「あなたのためにやったのに」って思うと不満だけが募ると思います。誰かのためって思わない方がいいと言いたいです。
この場合は"because of you"ですが、シンプルに使えるのは"for you"になります。
"because of you"にすると少し、押し付けがましさなどを出すことも出来ます。
参考になれば幸いです。
『のため』という単語、Because を使うことができ、I did this because of youと言えます。
しかし、この場合だとBecause よりForを使う方が自然になります。Because をもっと正確にいうと、『の理由で』の意味です。
なので、あなたのためにやったというのならば、But I did this for you『でもあなたのためにやったのに』の感じです。
この方がもっと気持ちをこもってやってあげたような意味も含まれます。