I've also updated it with the VM now, however please note that I only posted the relevant information.Things like error handling and else have been omitted.Button has a tiny empty tooltip: This code seemed perfectly fine for me so it took me a lot of time to google the answer.
For Content Control objects, it is the Content Template property.
The Data Template class has a Data Type property that is very similar to the Target Type property of the Style class.
For more information on resources, see XAML Resources.
To demonstrate why Data Template is important, let's walk through a data binding example.
If your Content Control is tracking the selection of an Items Control type, you can set the Path property of the Content Control binding to "" to indicate that you are interested in the current item.
For an example, see Bind to a Collection and Display Information Based on Selection.
This topic first demonstrates how to define a Data Template and then introduces other data templating features, such as the selection of templates based on custom logic and the support for the display of hierarchical data.
This topic focuses on data templating features and is not an introduction of data binding concepts.
Otherwise, you need to specify the Data Template explicitly by setting the Content Template property.