Data templates
We've already seen a number of simple examples of the DataTemplate
, but they are such an important part of WPF that we're going to have a much more thorough look at them now. In short, we use a DataTemplate
to define how we want particular data objects to be rendered in the UI.
If we were to data bind a particular type of object to a UI control without providing a DataTemplate
for it, the WPF Framework would not know how to display it. In these cases, the best job that it can do is to display a string representation of it.
<ItemsControl ItemsSource="{Binding Users}" />
It achieves this by calling the object.ToString
method on the data object and setting that value to the Text
property of a TextBlock
, which it uses to display the object. If this method has not been overridden in the object's class, this will result in the name of the type of the object being displayed in its place.
Knowing that the WPF Framework will call the ToString
method on our data objects...