C# LiveCharts(LVC)WPF-从DataClick事件获取图表

C# LiveCharts(LVC)WPF-从DataClick事件获取图表,c#,wpf,livecharts,C#,Wpf,Livecharts,我有一个“仪表盘”,上面有几个图表。其中之一是一个包含多个系列的饼图 LiveCharts有一个DataClick事件 DataClick(object sender, ChartPoint chartPoint) sender属于PieSlice类型。如何从该事件或图表名称/id访问SeriesCollection 我试图实现的是访问发送事件的图表,然后是序列集合,并检查哪个序列/饼图片段触发了事件 首先,不要使用事件,使用命令——这是MVVM的方式。i、 e <LiveCharts:

我有一个“仪表盘”,上面有几个图表。其中之一是一个包含多个系列的饼图

LiveCharts有一个DataClick事件

DataClick(object sender, ChartPoint chartPoint)
sender
属于
PieSlice
类型。如何从该事件或图表名称/id访问
SeriesCollection


我试图实现的是访问发送事件的图表,然后是序列集合,并检查哪个序列/饼图片段触发了事件

首先,不要使用
事件
,使用
命令
——这是MVVM的方式。i、 e

<LiveCharts:PieChart DataClickCommand="{Binding DrillDownCommand}" Series="{Binding MySeries}" ...>
关于处理命令:

public ICommand DrillDownCommand
{
    get
    {
        return new RelayCommand<ChartPoint>(this.OnDrillDownCommand);
    }
}

private void OnDrillDownCommand(ChartPoint chartPoint)
{
    // access the chartPoint.Instance (Cast it to YourObjectHere and access its properties)
}
public-ICommand-drilldown命令
{
得到
{
返回新的RelayCommand(this.ondrilldown命令);
}
}
私有void ondrilldown命令(ChartPoint ChartPoint)
{
//访问chartPoint.Instance(将其强制转换到YourObjectHere并访问其属性)
}

您需要使用参数,而不是发送者。第二个参数是
ChartPoint
,它包含
SeriesView
。所以只要访问它并使用它的
标题

    private void Chart_OnDataClick(object sender, ChartPoint chartpoint) {
        MessageBox.Show(chartpoint.SeriesView.Title);
    }
我如何从该事件或图表名称/id访问SeriesCollection

序列视图不是整个序列集合,而是您单击的
Series
。你可以知道它的名字

    private void Chart_OnDataClick(object sender, ChartPoint chartpoint) {
        MessageBox.Show(chartpoint.SeriesView.Title);
    }