on 3D surfaces natively. Data binding WPF has a built-in set of data services to enable application developers to bind and manipulate data within applications. It supports four types of data binding: one time: where the client ignores updates on the server. one way: where the client has read-only access to data. two way: where client can read from and write data to the server one way to source: where the client has write-only access to data LINQ queries, including LINQ to XML, can also act as data sources for data binding. Binding of data has no bearing on its presentation. WPF provides data templates to control presentation of data. A set of built-in controls is provided as part of WPF, containing items such as button, menu, grids, and list box. Dependency Properties can be added to Behaviours or Attached Properties to add custom binding properties. A powerful concept in the WPF is the logical separation of a control from its appearance. A control's template can be overridden to completely change its visual appearance. A control can contain any other control or layout, allowing for a high degree of control over composition. Features retained mode graphics. Repainting the display isn't always necessary. Media services The WPF provides an integrated system for building user interfaces with common media elements like vector and raster images, audio, and video. WPF also provides an animation system and a 2D/3D rendering system. WPF provides shape primitives for 2D graphics along with a built-in set of brushes, pens, geometries, and transforms. The 3D capabilities in WPF are a subset of the full-feature set provided by Direct3D. However, WPF provides tighter integration with other features like user interfaces, documents, and media. This makes it possible to have 3D user interfaces, 3D documents, or 3D media. There is support for most common image formats: BMP, JPEG, PNG, TIFF, Windows Media Photo, GIF, and ICON. WPF supports the video formats WMV, MPEG and some AVI files by default, but since it has Windows Media Player running beneath, WPF can use all the codecs installed for it. Templates In WPF you can define the look of an element directly, via its properties, or indirectly with a template or style. At its simplest a style is a combination of property settings that can be applied to a UI element with a single property attribute. Templates are a mechanism for defining alternative