#205 – The WPF GUI Pipeline

In WPF, there are a number of different actors or elements that impact how data (or content) will be presented to the user.  The various elements can be thought of a “pipeline”, with data flowing in at one end and final GUI elements coming out of the other end.

The different elements in the GUI pipeline are:

  • Data binding – Data from some object is bound to one or more controls
  • Value Converters – Bound data may be converted to another format
  • Templates – Control and data templates specify constituent elements for a control
  • Presenters – ContentPresenter and ItemsPresenter act as placeholders within a template, indicating where the content goes
  • Layout – Determine position and size of all elements
  • Style – Apply a predefined style, which specifies one or more property values