Back to Devexpress

ChartCalculatedField.FieldName Property

wpf-devexpress-dot-xpf-dot-charts-dot-chartcalculatedfield-afcd19a0.md

latest6.3 KB
Original Source

ChartCalculatedField.FieldName Property

Gets or sets the calculated field’s name.

Namespace : DevExpress.Xpf.Charts

Assembly : DevExpress.Xpf.Charts.v25.2.dll

NuGet Package : DevExpress.Wpf.Charts

Declaration

csharp
public string FieldName { get; set; }
vb
Public Property FieldName As String

Property Value

TypeDescription
String

The calculated field’s unique name.

|

Remarks

Use the FieldName property to specify the calculated field’s unique name. Avoid dots in names because the Chart uses dots to access data source members. Use the name to specify series data members (for example, Series.ArgumentDataMember, Series.ValueDataMember, Series.ToolTipHintDataMember, or Series.ColorDataMember). You can also use calculated field names to configure text patterns (for example, XYSeries2D.CrosshairLabelPattern.

Example

The following example shows how to create a calculated field and then use this field as a data source for a series. The field’s values are calculated by the following expression: [Time.Seconds] * [Velocity].

xaml
<dxc:ChartControl x:Name="chartControl">
    <dxc:ChartControl.DataContext>
        <local:ChartViewModel/>
    </dxc:ChartControl.DataContext>
    <dxc:ChartControl.CalculatedFields>
        <dxc:ChartCalculatedField FieldName="Displacement" 
                                  Expression="[Time.Seconds] * [Velocity]" 
                                  FieldType="Double"/>
    </dxc:ChartControl.CalculatedFields>
    <dxc:XYDiagram2D>
        <dxc:SplineSeries2D DisplayName="Series" 
                            DataSource="{Binding DataPoints}"
                            ArgumentDataMember="Time"
                            ValueDataMember="Displacement" 
                            CrosshairLabelPattern="{}{Displacement:f1}" 
                            MarkerVisible="True"/>
        ...
    </dxc:XYDiagram2D>
</dxc:ChartControl>
csharp
using System;
using System.Collections.Generic;
using System.Windows;

namespace CalculatedFields {
    public class ChartViewModel {
        List<DataPoint> dataPoints;
        public List<DataPoint> DataPoints {
            get {
                if (dataPoints == null) {
                    dataPoints = new List<DataPoint> {
                            new DataPoint (new TimeSpan(0, 0, 0), 10),
                            new DataPoint (new TimeSpan(0, 0, 1), 11.46),
                            new DataPoint (new TimeSpan(0, 0, 2), 11.90),
                            new DataPoint (new TimeSpan(0, 0, 3), 12.1),
                            new DataPoint (new TimeSpan(0, 0, 4), 12.236),
                            new DataPoint (new TimeSpan(0, 0, 5), 12.325),
                            new DataPoint (new TimeSpan(0, 0, 6), 12.625),
                            new DataPoint (new TimeSpan(0, 0, 7), 13.896),
                            new DataPoint (new TimeSpan(0, 0, 8), 14.123),
                            new DataPoint (new TimeSpan(0, 0, 9), 14.623),
                            new DataPoint (new TimeSpan(0, 0, 10), 15.007),
                            new DataPoint (new TimeSpan(0, 0, 11), 15.452),
                            new DataPoint (new TimeSpan(0, 0, 12), 15.756)
                };
                }
                return dataPoints;
            }
        }
    }
    public class DataPoint {
        public TimeSpan Time { get; set; }
        public double Velocity { get; set; }
        public DataPoint(TimeSpan time, double velocity) {
            this.Time = time;
            this.Velocity = velocity;
        }
    }
}
vb
Imports System
Imports System.Collections.Generic
Imports System.Windows

Namespace CalculatedFields
    Public Class ChartViewModel
        Private f_DataPoints As List(Of DataPoint)
        Public ReadOnly Property DataPoints As List(Of DataPoint)
            Get
                If f_DataPoints Is Nothing Then
                    f_DataPoints = New List(Of DataPoint) From {
                        New DataPoint(New TimeSpan(0, 0, 0), 10),
                        New DataPoint(New TimeSpan(0, 0, 1), 11.46),
                        New DataPoint(New TimeSpan(0, 0, 2), 11.90),
                        New DataPoint(New TimeSpan(0, 0, 3), 12.1),
                        New DataPoint(New TimeSpan(0, 0, 4), 12.236),
                        New DataPoint(New TimeSpan(0, 0, 5), 12.325),
                        New DataPoint(New TimeSpan(0, 0, 6), 12.625),
                        New DataPoint(New TimeSpan(0, 0, 7), 13.896),
                        New DataPoint(New TimeSpan(0, 0, 8), 14.123),
                        New DataPoint(New TimeSpan(0, 0, 9), 14.623),
                        New DataPoint(New TimeSpan(0, 0, 10), 15.007),
                        New DataPoint(New TimeSpan(0, 0, 11), 15.452),
                        New DataPoint(New TimeSpan(0, 0, 12), 15.756)
                    }
                End If
                Return f_DataPoints
            End Get
        End Property
    End Class
    Public Class DataPoint
        Public Property Time As TimeSpan
        Public Property Velocity As Double
        Public Sub New(ByVal time As TimeSpan, ByVal velocity As Double)
            Me.Time = time
            Me.Velocity = velocity
        End Sub
    End Class
End Namespace

See Also

ChartCalculatedField Class

ChartCalculatedField Members

DevExpress.Xpf.Charts Namespace