|
public class ViewModel
{
public ObservableCollection<ChartDataModel> RevenueDetails { get; set; }
public ObservableCollection<ChartDataModel> SelectedData { get; set; }
public ViewModel()
{
…
RevenueDetails = new ObservableCollection<ChartDataModel>();
SelectedData = new ObservableCollection<ChartDataModel>();
}
} |
|
<chart:SfChart HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
SelectionChanged="SfChart_SelectionChanged">
….
<chart:ErrorBarSeries x:Name="errorbarSeries"
ItemsSource="{Binding RevenueDetails}"
XBindingPath="Date" YBindingPath="Value"
HorizontalErrorValue="3" VerticalErrorValue="3" EnableTooltip="True"
Type="Fixed" Mode="Vertical" HorizontalDirection="Both"
VerticalDirection="Both" >
</chart:ErrorBarSeries>
<chart:ErrorBarSeries x:Name="customizeSelectedErrorBar"
ItemsSource="{Binding SelectedData}"
XBindingPath="Date" YBindingPath="Value"
HorizontalErrorValue="3" VerticalErrorValue="3" EnableTooltip="True"
Type="Fixed" Mode="Vertical" HorizontalDirection="Both"
VerticalDirection="Both" >
…
<chart:ErrorBarSeries.VerticalLineStyle>
<chart:ErrorBarLineStyle StrokeWidth="8" StrokeColor="Blue"/>
</chart:ErrorBarSeries.VerticalLineStyle>
<chart:ErrorBarSeries.VerticalCapLineStyle>
<chart:ErrorBarCapLineStyle
StrokeColor = "Blue"
StrokeWidth = "5"
IsVisible = "true"/>
</chart:ErrorBarSeries.VerticalCapLineStyle>
</chart:ErrorBarSeries>
<chart:ScatterSeries ItemsSource="{Binding RevenueDetails}"
EnableDataPointSelection="True"
XBindingPath="Date" YBindingPath="Value"
ShapeType="Ellipse"
Color="LightBlue"
ScatterWidth="15" ScatterHeight="15"
SelectedDataPointColor="Blue">
</chart:ScatterSeries>
</chart:SfChart> |
|
private void SfChart_SelectionChanged(object sender, ChartSelectionEventArgs e)
{
if (e.SelectedSeries != null && e.SelectedSeries is ScatterSeries)
{
if (e.SelectedDataPointIndex != -1)
{
if (viewModel.SelectedData.Count > 0)
{
viewModel.SelectedData[0] = viewModel.RevenueDetails[e.SelectedDataPointIndex];
}
else
{
viewModel.SelectedData.Add(viewModel.RevenueDetails[e.SelectedDataPointIndex]);
}
}
else
{
if (viewModel.SelectedData.Count > 0)
{
viewModel.SelectedData.RemoveAt(0);
}
}
}
} |