# Key Features

## Content

**OrgChart for WPF and Silverlight** allows you to create customized, rich applications. Make the most of **C1OrgChart** by taking advantage of the following key features:

* **Flexible Data Binding**
    The [C1OrgChart](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.html) control is an **ItemsControl**. Bind it to a single entity containing sub-items or an **IEnumerable** collection of items which each can contain sub-items.
* **Versatile Orientation and Flow**[C1OrgChart](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.html) can display items flowing horizontally or vertically in either direction. You can determine the flow of the chart by simply setting the [Orientation](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.Orientation.html) and **FlowDirection** properties on the control.
* **Collapsible Nodes**
    Allow the user to hide an item’s branches to create a more compact display. The [C1OrgChart](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.html) nodes have an [IsCollapsed](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.IsCollapsed.html) property that allows you to collapse or expand each node, similar to a **TreeView**.
* **Connector Line Customization**
    The [C1OrgChart](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.html) control exposes several properties that allow you to customize the lines used to connect nodes. These properties allow you to customize the brush, thickness and dash array used to create connector lines. You can even bind these properties to properties on the data item to customize the lines per relationship.
* **Child Spacing and Alignment Options**
    Customize the alignment and spacing of items in your **OrgChart** by simply setting a few properties. The control includes a [ChildSpacing](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.ChildSpacing.html) property that controls the separation between items (in pixels), as well as horizontal and vertical alignment properties which can give dramatic changes to the visualization.
* **Complex Hierarchical Displays**
    In addition to the flexibility provided by data templates and bindings, the [C1OrgChart](/componentone/api/wpf/online-orgchart/dotnet-framework-api/C1.WPF.OrgChart.4.6.2/C1.WPF.OrgChart.C1OrgChart.html) control also supports advanced binding scenarios to create complex hierarchical displays. Use different templates for certain nodes based upon properties of specific data items like conditional formatting. For example, you could use different templates to visually distinguish among directors, managers, and clerical staff in an employee organization chart.