Skip to main content
All docs
V25.1
  • AxisLabelItem.SourceObject Property

    The object that is used to generate the axis label.

    Namespace: DevExpress.Xpf.Charts

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

    NuGet Package: DevExpress.Wpf.Charts

    Declaration

    public object SourceObject { get; }

    Property Value

    Type Description
    Object

    A business object that stores information required to create an axis label.

    Remarks

    The following example generates custom axis labels for a y-axis from a View Model:

    <Window.DataContext>
        <viewModel:ChartViewModel/>
    </Window.DataContext>
    
    <dxc:ChartControl>
        <dxc:XYDiagram2D>
            <dxc:XYDiagram2D.AxisY>
                <dxc:AxisY2D CustomLabelItemsSource="{Binding CustomLabels}">
                    <dxc:AxisY2D.CustomLabelItemTemplate>
                        <DataTemplate>
                            <dxc:CustomAxisLabel Value="{Binding AxisValue}">
                                <dxc:CustomAxisLabel.Content>
                                    <TextBlock FontSize="20" 
                                               Foreground="Green" 
                                               Text="{Binding SourceObject.LabelContent}">
                                    </TextBlock>
                                </dxc:CustomAxisLabel.Content>
                            </dxc:CustomAxisLabel>
                        </DataTemplate>
                    </dxc:AxisY2D.CustomLabelItemTemplate>
                </dxc:AxisY2D>
            </dxc:XYDiagram2D.AxisY>
            <!--...-->    
        </dxc:XYDiagram2D>
    </dxc:ChartControl>        
    
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    
    namespace DXSample
    {
        public class ChartViewModel
        {
            public ObservableCollection<LabelItem> CustomLabels { get; set; }
            public ChartViewModel()
            {
                CustomLabels = new ObservableCollection<LabelItem>();
                CustomLabels.Add(new LabelItem() { AxisValue = 5, LabelContent = "5++" });
                CustomLabels.Add(new LabelItem() { AxisValue = 10, LabelContent = "10++"});
                CustomLabels.Add(new LabelItem() { AxisValue = 15, LabelContent = "15**" });
            }
        }
        public class LabelItem
        {
            public double AxisValue { get; set; }
            public string LabelContent { get; set; }
        }
    }
    
    See Also