1. It's your money, and you are an adult. You get to decide when, where & how it will be spent.
**this is what I use when folks try to bark at me. I use "that" tone of voice when I say it.
2. Sometimes you have to buy fabric when & where you find it, especially when you know what project you will use it on in the future.
3. If #1 and #2 don't stop the whining, tell them to blow it out their ears.