If it did what you said then my project wouldn't work and I'd have empty controls everywhere. What it does is provide a wrapper for internal XAML and sets it's DataContext to be the ViewModel which can't be overriden by setting DataContext on an instance of the control.