You are correct.
A class must have a certain functionality to be able to work as a dataprovider for the flex components. Vector is not one of them unfortunately.
You can replace your vector with an ArrayCollection or convert it to an ArrayCollection right before setting it as the dataprovider.
I'm not aware of another way of doing this.