or
<
Window
x:Class
=
"LogarithmicScale.MainWindow"
xmlns:telerikChart
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Charting"
xmlns:telerikCharting
=
"clr-namespace:Telerik.Windows.Controls.Charting;assembly=Telerik.Windows.Controls.Charting"
xmlns:example
=
"clr-namespace:Telerik.Windows.Examples.Chart.LogarithmicScale"
Title
=
"MainWindow"
Height
=
"700"
Width
=
"900"
WindowStartupLocation
=
"CenterScreen"
>
<
Window.DataContext
>
<
example:ExampleViewModel
/>
</
Window.DataContext
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
CheckBox
x:Name
=
"ToggleLogModeCheckBox"
Content
=
"Use Logarithmic Y-Axis"
IsChecked
=
"False"
Margin
=
"6"
Grid.Row
=
"0"
Checked
=
"ToggleLogModeCheckBox_Checked"
Unchecked
=
"ToggleLogModeCheckBox_Checked"
/>
<
telerikChart:RadChart
x:Name
=
"RadChart1"
Grid.Row
=
"1"
ItemsSource
=
"{Binding Data}"
>
<
telerikChart:RadChart.DefaultView
>
<
telerikCharting:ChartDefaultView
>
<
telerikCharting:ChartDefaultView.ChartArea
>
<
telerikCharting:ChartArea
LegendName
=
"PrimaryLegend"
>
<
telerikCharting:ChartArea.AxisX
>
<
telerikCharting:AxisX
/>
</
telerikCharting:ChartArea.AxisX
>
<
telerikCharting:ChartArea.AxisY
>
<
telerikCharting:AxisY
x:Name
=
"LogAxis"
IsLogarithmic
=
"False"
Title
=
"Total population"
/>
</
telerikCharting:ChartArea.AxisY
>
</
telerikCharting:ChartArea
>
</
telerikCharting:ChartDefaultView.ChartArea
>
<
telerikCharting:ChartDefaultView.ChartLegend
>
<
telerikCharting:ChartLegend
x:Name
=
"PrimaryLegend"
/>
</
telerikCharting:ChartDefaultView.ChartLegend
>
</
telerikCharting:ChartDefaultView
>
</
telerikChart:RadChart.DefaultView
>
<
telerikChart:RadChart.SeriesMappings
>
<
telerikCharting:SeriesMapping
CollectionIndex
=
"0"
>
<
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:LineSeriesDefinition
ShowItemLabels
=
"False"
/>
</
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:SeriesMapping.ItemMappings
>
<
telerikCharting:ItemMapping
FieldName
=
"Population"
DataPointMember
=
"YValue"
/>
<
telerikCharting:ItemMapping
FieldName
=
"Time"
DataPointMember
=
"XValue"
/>
</
telerikCharting:SeriesMapping.ItemMappings
>
</
telerikCharting:SeriesMapping
>
<
telerikCharting:SeriesMapping
CollectionIndex
=
"1"
>
<
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:LineSeriesDefinition
ShowItemLabels
=
"False"
/>
</
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:SeriesMapping.ItemMappings
>
<
telerikCharting:ItemMapping
FieldName
=
"Population"
DataPointMember
=
"YValue"
/>
<
telerikCharting:ItemMapping
FieldName
=
"Time"
DataPointMember
=
"XValue"
/>
</
telerikCharting:SeriesMapping.ItemMappings
>
</
telerikCharting:SeriesMapping
>
</
telerikChart:RadChart.SeriesMappings
>
</
telerikChart:RadChart
>
</
Grid
>
</
Window
>
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;
namespace
LogarithmicScale
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
}
private
void
ToggleLogModeCheckBox_Checked(
object
sender, RoutedEventArgs e)
{
if
(
this
.RadChart1 !=
null
)
RadChart1.DefaultView.ChartArea.AxisY.IsLogarithmic = (
bool
)((CheckBox)sender).IsChecked;
}
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.ComponentModel;
namespace
Telerik.Windows.Examples.Chart.LogarithmicScale
{
public
class
ExampleViewModel : ViewModelBase
{
private
List<List<Stats>> data;
public
List<List<Stats>> Data
{
get
{
return
this
.data;
}
set
{
if
(
this
.data != value)
{
this
.data = value;
this
.NotifyPropertyChanged(
"Data"
);
}
}
}
public
ExampleViewModel()
{
List<Stats> list0 =
new
List<Stats>();
List<Stats> list1 =
new
List<Stats>();
List<List<Stats>> listindex =
new
List<List<Stats>>();
for
(
int
i = 0; i <= 1000; i++)
list0.Add(
new
Stats(i, 1 * i));
for
(
int
i = 0; i <= 1000; i++)
list1.Add(
new
Stats(i, i * 10));
listindex.Add(list0);
listindex.Add(list1);
this
.Data = listindex;
}
}
public
class
ViewModelBase : INotifyPropertyChanged, INotifyPropertyChanging
{
public
event
PropertyChangedEventHandler PropertyChanged;
public
event
PropertyChangingEventHandler PropertyChanging;
protected
void
NotifyPropertyChanged(String info)
{
if
(PropertyChanged !=
null
)
{
PropertyChanged(
this
,
new
PropertyChangedEventArgs(info));
}
}
protected
void
NotifyPropertyChanging(String info)
{
if
(PropertyChanging !=
null
)
{
PropertyChanging(
this
,
new
PropertyChangingEventArgs(info));
}
}
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
Telerik.Windows.Examples.Chart.LogarithmicScale
{
public
class
Stats
{
private
int
_time;
public
int
Time
{
get
{
return
this
._time;
}
set
{
this
._time = value;
}
}
private
int
_population;
public
int
Population
{
get
{
return
this
._population;
}
set
{
this
._population = value;
}
}
public
Stats(
int
time,
int
population)
{
this
.Time = time;
this
.Population = population;
}
}
}
<
telerik:GridViewToggleRowDetailsColumn
Header
=
"+"
HeaderTextAlignment
=
"Center"
x:Name
=
"MainToggleColumn"
/>