I would do it like this:
^(?!.* )(?=.*[\w-])[\w -]{1,10}$
This uses a negative look-ahead (?!.* )
to assert there are not two consecutive spaces, and a positive look-ahead (?=.*[\w-])
to assert it has at least one non-space character (I assume "empty" means "only spaces").
Note that if it can't be "empty", it can't be zero length, so the length range must be 1-10, not 0-10.
Of tiny note is the fact that you don't need to escape the dash in a character class if it's the first or last character.