ChartControl Class

The chart control for WPF applications.

Namespace: DevExpress.Xpf.Charts

Assembly: DevExpress.Xpf.Charts.v20.1.dll

Declaration

public class ChartControl :
    ChartControlBase,
    IEventArgsConverterSource,
    IXtraSupportDeserializeCollection,
    IChartBindingProvider,
    IBindingProvider,
    IVisualChildOwner,
    ISeriesObjectSelector
Public Class ChartControl
    Inherits ChartControlBase
    Implements IEventArgsConverterSource,
               IXtraSupportDeserializeCollection,
               IChartBindingProvider,
               IBindingProvider,
               IVisualChildOwner,
               ISeriesObjectSelector

Related API Members

The following members accept/return ChartControl objects:

Remarks

The ChartControl class represents a visual control intended for graphical data representation.

A chart control is comprised of separate elements, such as diagram, series, axes, legend, etc. To learn more about them, refer to Chart Elements.

If separate series have compatible types (that is they evoke the same diagram type), they can be combined in the same diagram (and the chart control, as well). So, because the 2D and 3D series types have different associated diagram types, they cannot be displayed simultaneously. For details on this, refer to Series Type Compatibility.

Reference_ChartControl

The ChartControl class can display data from different kinds of data sources, which can be any object implementing either the IEnumerable, IList, IListSource or IBindingList interfaces. Such a data source should be assigned to the Series.DataSource property of a chart's series. Then, it's required to specify which data fields should be used as points arguments (Series.ArgumentDataMember) and which - as point values (Series.ValueDataMember).

For more information on this, please refer to the Providing Data section.

Examples

The following example demonstrates how to create a 2D Side-by-Side Bar. To do this, it is necessary to assign the ChartControl.Diagram property to XYDiagram2D, and then add two series with points to the diagram's Diagram.Series collection.

<Window x:Class="SideBySideBar2DChart.Window1" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts" 
        Title="Window1" Height="350" Width="620">
    <Grid>
        <dxc:ChartControl Name="chartControl1">
            <dxc:ChartControl.Diagram>
                <dxc:XYDiagram2D>
                    <dxc:XYDiagram2D.Series>
                        <dxc:BarSideBySideSeries2D DisplayName="First Series" BarWidth="0.5">
                            <!--region #Model-->
                            <dxc:BarSideBySideSeries2D.Model>
                                <dxc:Quasi3DBar2DModel />
                            </dxc:BarSideBySideSeries2D.Model>
                            <!--endregion #Model-->
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="A" Value="1" />
                                <dxc:SeriesPoint Argument="B" Value="2" />
                                <dxc:SeriesPoint Argument="C" Value="3" />
                                <dxc:SeriesPoint Argument="D" Value="4" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                        <dxc:BarSideBySideSeries2D DisplayName="Second Series" BarWidth="0.5">
                            <!--region #Model2-->
                            <dxc:BarSideBySideSeries2D.Model>
                                <dxc:Quasi3DBar2DModel />
                            </dxc:BarSideBySideSeries2D.Model>
                            <!--endregion #Model2-->
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="A" Value="4" />
                                <dxc:SeriesPoint Argument="B" Value="3" />
                                <dxc:SeriesPoint Argument="C" Value="2" />
                                <dxc:SeriesPoint Argument="D" Value="1" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                    </dxc:XYDiagram2D.Series>
                </dxc:XYDiagram2D>
            </dxc:ChartControl.Diagram>
            <dxc:ChartControl.Legend>
                <dxc:Legend />
            </dxc:ChartControl.Legend>
        </dxc:ChartControl>
    </Grid>
</Window>
See Also