Detecting the attachment of a DataContext
If by:


  While there is no datacontext the view shows an indefinite progressbar.


You mean that the view's DataContext is null until the ViewModel is loaded, then you can simply use this:

&lt;Border Visibility="{Binding, Converter={StaticResource IsNullToVisibilityConverter}, Mode=OneWay, FallbackValue=Visible}" &gt;
    &lt;views1:CircularProgressBar Visibility="Visible" /&gt;
&lt;/Border&gt;


Which is to say, bind directly to the view model property path (which will be null until the view model is loaded) and convert a null value to mean 'Collapsed' and a non-null value to mean 'Visible'.

This removes the need for an IsLoaded boolean property per view model.

Of course, you will need to write the converter.