My code fails at at startup because the values array in the Converter that is called by the Multibinding is not filled with proper value bu
When you set a list in any ItemsSource, the DataTemplate's DataContext for the individual items will each item of the list.
True that your TextBlock binding is working correctly, because the DataContext is set to your main object: PageViewModel
But in your DataTemplate the DataContext will be set to PageNumberViewModel, since these are the items in your collection.
Therefor, the binding to Path=CurrentPage.Page_Number will result to UnsetValue, because CurrentPage is not a property of PageNumberViewModel
Hope this clarifies things!
If you truly wish to bind to the CurrentPage property of your Window's DataContext, consider using an ElementName binding:
Give window a name, bind to
or use a RelativeSource binding: