Skip to main content

ChartBaseView.SelectionChanged Event

Occurs every time the chart changes its selected item(s).

Namespace: DevExpress.XamarinForms.Charts

Assembly: DevExpress.XamarinForms.Charts.dll

NuGet Package: DevExpress.XamarinForms.Charts

Declaration

public event SelectionChangedEventHandler SelectionChanged

Event Data

The SelectionChanged event's data class is SelectionChangedEventArgs. The following properties provide information specific to this event:

Property
Action
DeselectedObjects
SelectedObjects

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

See Also