# Interaction

## Content



**C1Chart** contains built-in tools that simplify the implementation of interactive behaviors for the end user. The end user can explore, rotate and zoom chart using combinations of mouse and shift keys. The control center for interactive features is the [Actions](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.C1Chart.Actions.html) property of **C1Chart**. The **Action** object has several properties that allow customization of the interface. All of the properties can be set or changed at design time through the Properties window with the **Action Collection Editor** or in XAML and programmatically through the **Actions** collection.

The following XAML shows how to set the **Action**s properties to enable end user interaction:

```xml
<c1:C1Chart.Actions>
                <c1:ZoomAction />
                <c1:TranslateAction Modifiers="Shift" />
                <c1:ScaleAction Modifiers="Control" />
</c1:C1Chart.Actions>
```

The following code shows how to programmatically set the Actions properties through the [C1Chart.Actions](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.C1Chart.Actions.html) collection:

```csharp
c1.Chart.Actions.Add(new ZoomAction());
```

The following list reveals the supported chart actions:

*   Rotate action allows changing viewing angle. This action is available only for chart with 3D effects. The [Rotate3Daction](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.Rotate3DAction.html) class represents the rotate action for the 3D charts (**WPF Only**).
*   Scale action increases or decreases the scale of the chart along the selected axis or axes. The [ScaleAction](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.ScaleAction.html) class represents the scale action.

> 
> type=note
> **Note**: The zoom is not applicable for the chart's axis if the **MinScale** property is equal to zero. The **MinScale** property specifies the minimum scale that can be set for the axis.

*   Translate action provides the opportunity to scroll through the plot area. The [TranslateAction](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.TranslateAction.html) class represents the translate action.

> 
> type=note
> **Note**: You will not be available to translate along the axis if the Axis.Scale property is greater than 1.

*   Zoom action allows the user to select rectangular area for viewing.

> 
> type=note
> **Note**: The zoom is not applicable for the chart's axis if the **MinScale** property is equal to zero. The **MinScale** property specifies the minimum scale that can be set for the axis.

The scaling, translation and zooming are available only for chart with Cartesian axes.

Interactive rotation at run time is available for 3D Charts (**WPF Only**).

The **Action** object provides a set of properties that help to customize the action's behavior.

*   The [MouseButton](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.Action.MouseButton.html) and [Modifiers](/componentone/api/wpf/online-chart/dotnet-framework-api/C1.WPF.C1Chart.4.6.2/C1.WPF.C1Chart.Action.Modifiers.html) properties specify the mouse button and key (ALT, CONTROL or SHIFT) combination that will invoke the execution of the action.

## See Also

[Changing 3DChart](/componentone/docs/wpf/online-chart/overview/ChartFeatures/Interaction/Changing3DChart)

[Enabling Run-Time Interaction for 2D Charts](/componentone/docs/wpf/online-chart/overview/ChartFeatures/Interaction/EnablingInteractionCharts)

[Zooming in C1Chart](/componentone/docs/wpf/online-chart/overview/ChartFeatures/Interaction/ZoomingC1Chart)

[Scaling a Bubble Chart While Zooming](/componentone/docs/wpf/online-chart/overview/ChartFeatures/Interaction/ScalingChartZooming)