1.创建wpf项目,在引用上面点右键,管理nuget程序包,选择浏览,输入框里面输入DataVisualization,下面就会显示System.Windows.Controls.DataVisualization.Toolkit,安装它
2. xaml
<Window x:Class="ChartDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:charting="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:local="clr-namespace:ChartDemo"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<charting:Chart Height="271" Name="chart1" Width="379">
<charting:Chart.Series>
<!--PieSeries ColumnSeries LineSeries-->
<charting:PieSeries ItemsSource="{Binding Pair1}"
DependentValuePath="Value"
IndependentValuePath="Key"
Title="Pet Preference" IsSelectionEnabled="True" />
</charting:Chart.Series>
</charting:Chart>
</Window>
3 后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ChartDemo
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
chart1.DataContext = new ViewModel();
}
}
public class ViewModel
{
public KeyValuePair<string, int>[] Pair1 { get; set; }
public KeyValuePair<string, int>[] Pair2 { get; set; }
public ViewModel()
{
Pair1 = new KeyValuePair<string, int>[] {
new KeyValuePair<string, int>("Dog", 30),
new KeyValuePair<string, int>("Cat", 25),
new KeyValuePair<string, int>("Rat", 5),
new KeyValuePair<string, int>("Hampster", 8),
new KeyValuePair<string, int>("Rabbit", 12) };
Pair2 = new KeyValuePair<string, int>[] {
new KeyValuePair<string, int>("Dog", 50),
new KeyValuePair<string, int>("Cat", 35),
new KeyValuePair<string, int>("Rat", 50),
new KeyValuePair<string, int>("Hampster", 80),
new KeyValuePair<string, int>("Rabbit", 12) };
}
}
}
4效果