# ReportViewer Templates

## Content



One of the main advantages to using a WPF control is that controls are "lookless" with a fully customizable user interface. Just as you design your own user interface (UI), or look and feel, for WPF applications, you can provide your own UI for data managed by **ReportViewer for** **WPF and Silverlight**. Extensible Application Markup Language (XAML; pronounced "Zammel"), an XML-based declarative language, offers a simple approach to designing your UI without having to write code.

**Accessing Templates**

You can access templates in Microsoft Expression Blend by selecting the [C1ReportViewer](/componentone/api/wpf/online-reportviewer/dotnet-framework-api/C1.WPF.ReportViewer.4.6.2/C1.WPF.ReportViewer.C1ReportViewer.html) control and, in the menu, selecting **Edit Template**. Select **Edit a Copy** to create an editable copy of the current template or **Create Empty**, to create a new blank template.

Once you've created a new template, the template will appear in the **Objects and Timeline** window. Note that you can use the [Template](http://msdn2.microsoft.com/en-us/library/ms592524) property to customize the template.


> type=note
> **Note**: If you create a new template through the menu, the template will automatically be linked to that template's property. If you manually create a template in XAML you will have to link the appropriate template property to the template you've created.

**Additional Templates**

In addition to the default template, the [C1ReportViewer](/componentone/api/wpf/online-reportviewer/dotnet-framework-api/C1.WPF.ReportViewer.4.6.2/C1.WPF.ReportViewer.C1ReportViewer.html) control includes a few additional templates. These additional templates can also be accessed in Microsoft Expression Blend – in Blend select the [C1ReportViewer](/componentone/api/wpf/online-reportviewer/dotnet-framework-api/C1.WPF.ReportViewer.4.6.2/C1.WPF.ReportViewer.C1ReportViewer.html) control and, in the menu, select **Edit Additional Templates**. Choose a template, and select **Create Empty**.