C# LiveCharts(LVC)WPF-从DataClick事件获取图表
我有一个“仪表盘”,上面有几个图表。其中之一是一个包含多个系列的饼图 LiveCharts有一个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:
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);
}