如何在 Syncfusion 图表中获取所选对象?

How to get the selected object in a Syncfusion chart?

Syncfusion 图表支持在其图表中选择数据项(参见 here)。还有一个事件会在选择更改后触发。

我有一个绑定到图表的 TransactionEntry 对象的列表,其中包括 AmountDate(绑定到图表)和其他几个元数据等信息。

我正在尝试访问已更改事件中的对象以获取元数据。 ChangedEvent args 公开了一个名为 NewPointInfo(参见 here)的 属性,它属于对象类型。调试的时候看到这个对象其实是一个ChartDataPointInfo对象,里面还有一个NewItem属性,这正是我要找的对象

现在我的问题是我无法将 NewPointInfo 对象转换为 ChartDataPointInfo 类型,因为 ChartDataPointInfo 的保护级别。 Syncfusion 也没有记录这种类型,所以我想我不打算使用这种类型?

我现在的问题是: 如何从 SelectionChanged 事件访问基础 TransactionEntry 对象?我可以为此使用 NewPointInfo 吗?如果可以:如何使用?

我目前不在开发 PC 上试用,但我建议尝试调查 ChartSelectionChangedEventArgsSelectedSegment property

这是 ChartSegment 类型,它有一个 属性 Item,如果我没记错的话,它应该设置为您要查找的基础集合项。正如文档所说:

Item - Gets or sets the data object that this segment belongs to.

您可以通过以下方式访问您的对象:

(e.SelectedSegment.Item as List<object>)?[e.SelectedIndex] as YourObject

或者,更简单:

(e.NewPointInfo as ChartSegment).Item as YourObject

问题是您试图将 e.NewPointInfo 转换为内部 class 的 ChartDataPointInfo。 ChartSegment 是 ChartDataPointInfo 的父级 class,可访问,并且是实际包含 Item 属性的。