WPF Toolkit Chart

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:toolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
        Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:PV;assembly=PV" Loaded="Window_Loaded">
    <Grid>
        <!--<my:PVStage Margin="0,211,303,0" Height="100" VerticalAlignment="Top" />-->
        <toolkit:Chart x:Name="mChart">
            <toolkit:Chart.Series>
                <toolkit:ColumnSeries Title="Column"  IndependentValueBinding="{Binding Key}" DependentValueBinding="{Binding Value}"/>
                <toolkit:LineSeries Title="Line"  IndependentValueBinding="{Binding Key}" DependentValueBinding="{Binding Value}"/>
            </toolkit:Chart.Series>
        </toolkit:Chart>
        <Button VerticalAlignment="Bottom" Click="Button_Click"> 增加</Button>
    </Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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;
using System.Windows.Controls.DataVisualization.Charting;
using System.Collections.ObjectModel;


namespace WpfApplication1
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {           
            ObservableCollection<KeyValuePair<int, int>> list = new ObservableCollection<KeyValuePair<int, int>>()
            {
                    new KeyValuePair<int,int>(1,10),
                    new KeyValuePair<int,int>(2,20),
                    new KeyValuePair<int,int>(3,30),
                    new KeyValuePair<int,int>(4,40)
            };

            ColumnSeries cs = (ColumnSeries)mChart.Series[0];
            cs.ItemsSource = list;

            LineSeries ls = (LineSeries)mChart.Series[1];
            ls.ItemsSource = list;
        }

        int count = 4;
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            count++;
            LineSeries ls = (LineSeries)mChart.Series[1];
            ObservableCollection<KeyValuePair<int, int>> list = (ObservableCollection<KeyValuePair<int, int>>)ls.ItemsSource;
            list.Add(new KeyValuePair<int, int>(count, count * 10));
        }
    }

  
}

 

点增加按钮后曲线增加

 

对X轴,Y轴进行操作

<charting:Chart.Axes>
        <toolkit:LinearAxis Orientation="X" Title="Time" Interval="20" ShowGridLines="False"/>
        <toolkit:LinearAxis Title="Number of Waiting Tasks" Orientation="Y" Interval="5" ShowGridLines="False"/>
</charting:Chart.Axes>

 

posted @ 2014-05-07 20:41  枯无穷肉  阅读(2286)  评论(0编辑  收藏  举报