Skip to main content

DataSourceKey Class

Provides access to an object that specifies an item of the data source to which the chart is bound.

Namespace: DevExpress.XamarinForms.Charts

Assembly: DevExpress.XamarinForms.Charts.dll

NuGet Package: DevExpress.XamarinForms.Charts

Declaration

public class DataSourceKey

Remarks

Use the DataSourceKey object when you handle the SelectionChanged or HintShown event. Its DataObject and Index properties return an object that specifies a data source’s item to which the processed series point corresponds and this item’s index in the data source.

Example

In this example, a hint with preset options appears when a user taps a bubble.

  1. Use the FilmData object collection as the data source for the chart to show the highest grossing films as bubbles.

    using System;
    using System.Collections.Generic;
    
    namespace BubbleChartExample.Data {
    public class FilmData {
        public DateTime Date { get; private set; }
        public string Name { get; private set; }
        public double Value { get; private set; }
        public double WorldwideGrosses { get; private set; }
    
        public FilmData(DateTime date, string name, double value, double worldwideGrosses) {
            Date = date;
            Name = name;
            Value = value;
            WorldwideGrosses = worldwideGrosses;
            }
        }
    }
    
  2. Subscribe to the SelectionChanged event and enable hints for the chart.

    <dxc:ChartView x:Name="bubbleChart"
                   SelectionKind="Point"
                   SelectionMode="Single"
                   SelectionChanged="OnBubbleSelectionChanged" >
        <dxc:ChartView.Hint>
            <dxc:Hint Enabled="True" 
                      ShowMode="OnTap"/>
        </dxc:ChartView.Hint>
    </dxc:ChartView>
    
  3. In the event handler, use the DataSourceKey.DataObject property to access an object that corresponds with the selected bubble and cast it to the type of the data source object (FilmData). Call the ShowHint method to show a hint for the selected bubble and specify the tooltip text pattern.

    using BubbleChartExample.Data;
    using DevExpress.XamarinForms.Charts;
    using Xamarin.Forms;
    
    // … 
    
    void OnBubbleSelectionChanged(object sender, DevExpress.XamarinForms.Charts.SelectionChangedEventArgs e) {
        if (e.SelectedObjects.Count > 0 && e.SelectedObjects[0] is DataSourceKey dataSourceKey) {
            if (dataSourceKey.DataObject is FilmData bubbleDataObject) {
                bubbleSeries.HintOptions = new SeriesHintOptions();
                bubbleSeries.HintOptions.PointTextPattern = 
                    bubbleDataObject.Name + "\nProduction budget: {V$$#M}\nWorldwide grosses: {W$$#.##B}";
                bubbleChart.ShowHint(0, dataSourceKey.Index);
            }
        }
    }
    

Bubble Chart DataAdapter

Inheritance

Object
DataSourceKey
See Also