Denis Gladkikh

outcoldman

My personal blog about software development

  • 25 Jun 2009
  • WPF, MS Chart, XAML, .NET. C#
  • 0 comments

Скачать новый Release WPF Toolkit можно отсюда. Из нового там пофиксили некоторый набор багов (около 5) и самое главное там появились контролы для рисования графиков!

Я уже попробовал сделать небольшой примерчик, который рисует следующий график:

Для того, чтобы построить данный график сначала необходимо подготовить данные: для этого создадим класс данных Data представляющий из себя набор (Название, Значение), а так же создадим класс Model, который будет просто возвращать нам список подготовленных данных:

public class Data
{
  public Data(string name, int value)
  {
    Name = name;
    Value = value;
  }
 
  public string Name { get; set; }
  public int Value { get; set; }
}
 
class Model
{
  public IList<Data> Data
  {
    get 
    {
      IList<Data> list = new List<Data>
                  {
                    new Data("First", 70),
                    new Data("Second", 20),
                    new Data("Third", 10)
                  };
      return list;
    }
  }
}

Итак данные есть, остается только положить на нашу форму контрол Chart и установить в качестве данных нашу модель:

<Window x:Class="WpfApplicationChart.WindowChartSample"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="WindowChartSample" Height="327" Width="505" 
    xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" 
    xmlns:WpfApplicationChart="clr-namespace:WpfApplicationChart">
  <Window.Resources>
    <WpfApplicationChart:Model x:Key="model" />
  </Window.Resources>
  <Grid DataContext="{Binding Source={StaticResource model}}">
    <chartingToolkit:Chart>
      <chartingToolkit:PieSeries ItemsSource="{Binding Path=Data}" 
          DependentValuePath="Value" IndependentValuePath="Name" />
    </chartingToolkit:Chart>
  </Grid>
</Window>

Вот и все. Пример готов. Скачать его можно отсюда. Постараюсь в будущем сделать более подробный обзор данных контролов, так как документации по нему что то не нашел, а интересно, что же он может.

Comments