EditCategory
ItemsControl
EditQuestion
How should I create an ItemsControl (and derived classes) ControlTemplate?
EditAnswer
The key to building an ItemsControl ControlTemplate (and the derived classes: Selector, ListView, ComboBox, ListBox, etc.) is to make sure to include an ItemsPresenter object somewhere in the ControlTemplate.
An ItemsPresenter will be the placeholder for the panel to display the ItemsControl items.
An alternative is to include directly in the ControlTemplate a Panel with the property IsItemsHost set to true, in which case, that Panel is going to be used to display the ItemsControl's items.
The latter solution however is not as elegant as the first one since it "ignores" the ItemsPanel property of the ItemsControl.