Windows Presentation Foundation (WPF) has a lot of controls that can be highly customized.
Every WPF control has a
Template which is the main control template, you can overwrite a control template entirely.
Most of WPF controls inherit from
ContentControl which allows you to put anything inside them. A
ListBox for example allows you to put highly customized controls for each item bound. An example of listbox items can be found in the image bellow. Each item is rendered as a sort of rectangle with some text inside.