Reputation: 2579
Can someone elaborate the difference between ControlTemplate
and DataTemplate
in wpf?
What should one use in case of custom controls? Like for example a StackPanel
which possibly has an image
and a TextBox
?
It seems confusing in some cases where you define a custom control using the 'Content' property.
It would be great if an example of how each can be used in different scenarios can be provided.
Upvotes: 4
Views: 3379
Reputation: 136603
A ControlTemplate
is used to change the look of an existing control. So if you don't want your buttons to look rectangular, you can define a control Template which makes them look oval or any irregular shape. It's a way to customize 'look-less' stock WPF controls ; an alternative to writing your own user-controls. More details
A DataTemplate
is used to specify how an instance of a specific class (usually a Data Transfer object - an object with properties) is to be rendered visually. e.g. define a DataTemplate
to visualize a Customer instance in a listbox displaying all customers. More details
Upvotes: 10