private void AddFileToChart(FileItemViewModel viewModel) { var mapper = new PieMapper <FileItemViewModel>().Value(f => f.Megabytes); var series = new PieSeries(mapper); series.Title = viewModel.Name; series.Visibility = viewModel.ChartVisibility; series.Values = new ChartValues <FileItemViewModel>() { viewModel }; series.DataContext = viewModel; series.SetBinding(PieSeries.VisibilityProperty, FileItemViewModel.ChartVisibilityPropertyName); this.PieChart.Series.Add(series); foreach (var child in viewModel.Children) { this.AddFileToChart(child); } }
private void InitializeChartMappers() { reportUnitMapperColumn = Mappers.Xy <ReportUnit>() .X((value, index) => index) // lets use the position of the item as X .Y(value => value.DoubleAmount); // lets use Amount property as Y //.Stroke((value, index) => GetBrush(value)) //.Fill((value, index) => GetBrush(value)); reportUnitMapperRow = Mappers.Xy <ReportUnit>() .X(value => value.DoubleAmount) // lets use Amount property as X .Y((value, index) => index); // lets use the position of the item as Y //.Stroke((value, index) => GetBrush(value)) //.Fill((value, index) => GetBrush(value)); reportUnitMapperPie = Mappers.Pie <ReportUnit>() .Value(value => value.DoubleAmount); // lets use Amount property as Value //.Stroke((value, index) => GetBrush(value)) //.Fill((value, index) => GetBrush(value)); //lets save mappers globally //Charting.For<ReportUnit>(reportUnitMapperColumn, SeriesOrientation.Vertical); //Charting.For<ReportUnit>(reportUnitMapperRow, SeriesOrientation.Horizontal); }