Friday, February 20, 2015

WPF Feature Summary

Declarative UI

Use XAML to define the UI declaratively. XAML is similar to HTML but more expressive and robust.

Layout Managment

WPF provides various layout options for arranging and resizing windows and controls. Layout controls contain child controls arranged in a particular order. Layout controls include:

  • Grid: Table/grid-based layout
  • Canvas: Fixed/absoute layout
  • StackPanel: Simple left to right or top to bottom arrangement
  • DockPanel: Similar to DockPanel, but the contained controls can be docked, left, right, top, bottom, or fill
  • WrapPanel: Similar to DockPanel but the contained controls may wrap

Vector Graphics

WPF supports vector graphics. WPF applications automatically scale for various resolutions.

Control Templates

Redefine the look of a control. For example, by defining a Control Template, the look of all edit boxes used in the application can be modified.

Data Templates

Define how data (class object) is rendered by a control. For example, if we have FileDirectoryEntry class object that has file name and size. A data template may define how this data is rendered. If FileDirectoryEntry object is added to a listbox, the data template renders the corresponding listbox item.

Data Binding

Data (a class object) is set as the DataSource for a UI element. By using Binding Expressions, the data values may be assigned to various properties of the UI element.

Command and Key Binding

A command or key combination can be bound to a UI element (button, for example).

Styles

Similar to CSS, styles can be applied to various UI elements.

Control Template and Style Triggers

Change appearance or state of a control based on some event such as click or mouse over.

Animation

Controls can be animated. Animations can be kicked off via Control or Style triggers.

3D modeling and animation

WPF supports basic 3D modeling and animation.