/// <summary> /// 飞机饼状图的选择点事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void RadPieChartSelectionBehaviorSelectionChanged(object sender, ChartSelectionChangedEventArgs e) { var radChartBase = ((ChartSelectionBehavior) sender).Chart; var selectedPoint = radChartBase.SelectedPoints.FirstOrDefault() as PieDataPoint; var items = new LegendItemCollection(); if (radChartBase.EmptyContent.ToString().Equals("座级分布", StringComparison.OrdinalIgnoreCase)) { items = ((RadLegend) _regionalPieGrid.Children[1]).Items; } else if (radChartBase.EmptyContent.ToString().Equals("机型分布", StringComparison.OrdinalIgnoreCase)) { items = ((RadLegend) _typePieGrid.Children[1]).Items; } if (selectedPoint != null) { items.ToList().ForEach(p => p.IsHovered = false); foreach (var item in items) { if (item.Title.Equals(((FleetAircraftTypeComposition) selectedPoint.DataItem).AircraftRegional, StringComparison.OrdinalIgnoreCase)) { item.IsHovered = true; break; } } if (radChartBase.EmptyContent.ToString().Equals("座级分布", StringComparison.OrdinalIgnoreCase)) { GetGridViewDataSourse(selectedPoint, _regionalWindow, "座级"); } else if (radChartBase.EmptyContent.ToString().Equals("机型分布", StringComparison.OrdinalIgnoreCase)) { GetGridViewDataSourse(selectedPoint, _typeWindow, "机型"); } } else { if (radChartBase.EmptyContent.ToString().Equals("座级分布", StringComparison.OrdinalIgnoreCase)) { _regionalWindow.Close(); } else if (radChartBase.EmptyContent.ToString().Equals("机型分布", StringComparison.OrdinalIgnoreCase)) { _typeWindow.Close(); } } }
/// <summary> /// 飞机饼状图的选择点事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void RadPieChartSelectionBehaviorSelectionChanged(object sender, ChartSelectionChangedEventArgs e) { var chartSelectionBehavior = sender as ChartSelectionBehavior; if (chartSelectionBehavior != null) { var radChartBase = chartSelectionBehavior.Chart; var selectedPoint = radChartBase.SelectedPoints.FirstOrDefault() as PieDataPoint; var items = new LegendItemCollection(); switch (radChartBase.EmptyContent.ToString()) { case "飞机数分布": items = ((RadLegend) _aircraftPieGrid.Children[1]).Items; break; case "座位数分布": items = ((RadLegend) _seatPieGrid.Children[1]).Items; break; case "商载量分布": items = ((RadLegend) _loadPieGrid.Children[1]).Items; break; } if (selectedPoint != null) { items.ToList().ForEach(p => p.IsHovered = false); foreach (var item in items) { if (item.Title.Equals(((FleetAircraft) selectedPoint.DataItem).Aircraft, StringComparison.OrdinalIgnoreCase)) { item.IsHovered = true; break; } } switch (radChartBase.EmptyContent.ToString()) { case "飞机数分布": GetGridViewDataSourse(selectedPoint, _aircraftWindow, "飞机数"); break; case "座位数分布": GetGridViewDataSourse(selectedPoint, _seatWindow, "座位数"); break; case "商载量分布": GetGridViewDataSourse(selectedPoint, _loadWindow, "商载量"); break; } } else { switch (radChartBase.EmptyContent.ToString()) { case "飞机数分布": _aircraftWindow.Close(); break; case "座位数分布": _seatWindow.Close(); break; case "商载量分布": _loadWindow.Close(); break; } } } }