or
<
Window
x:Class
=
"BarDensity.MainWindow"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:local
=
"clr-namespace:BarDensity"
Title
=
"MainWindow"
Height
=
"750"
Width
=
"1000"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"*"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
telerik:RadCartesianChart
Margin
=
"5"
x:Name
=
"PropertyChart"
>
<
telerik:RadCartesianChart.Behaviors
>
<
telerik:ChartPanAndZoomBehavior
ZoomMode
=
"Both"
PanMode
=
"Both"
/>
</
telerik:RadCartesianChart.Behaviors
>
<
telerik:RadCartesianChart.Grid
>
<
telerik:CartesianChartGrid
MajorLinesVisibility
=
"XY"
/>
</
telerik:RadCartesianChart.Grid
>
<
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:DateTimeContinuousAxis
LabelFitMode
=
"Rotate"
LabelFormat
=
"yyyy-MMM"
GapLength
=
"0.5"
/>
</
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:LinearAxis
/>
</
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:RadCartesianChart.Series
>
<
telerik:BarSeries
CategoryBinding
=
"Date"
ValueBinding
=
"Value"
ItemsSource
=
"{Binding Path=Series1}"
>
<
telerik:BarSeries.PointTemplate
>
<
DataTemplate
>
<
Rectangle
Fill
=
"Blue"
/>
</
DataTemplate
>
</
telerik:BarSeries.PointTemplate
>
</
telerik:BarSeries
>
<
telerik:LineSeries
CategoryBinding
=
"Date"
ValueBinding
=
"Value"
ItemsSource
=
"{Binding Path=Series1}"
Stroke
=
"Red"
>
</
telerik:LineSeries
>
</
telerik:RadCartesianChart.Series
>
</
telerik:RadCartesianChart
>
<
StackPanel
Grid.Row
=
"1"
Orientation
=
"Horizontal"
>
<
Label
>MaximumTicks:</
Label
>
<
telerik:RadNumericUpDown
IsEditable
=
"True"
Minimum
=
"10"
Maximum
=
"50"
Value
=
"{Binding Path=MaximumTicks}"
/>
</
StackPanel
>
</
Grid
>
</
Window
>
namespace
BarDensity
{
public
class
MyPoint
{
public
DateTime Date {
get
;
set
; }
public
Double Value {
get
;
set
; }
}
public
partial
class
MainWindow : Window
{
private
int
_MaximumTicks = 20;
public
List<MyPoint> Series1 {
get
;
private
set
; }
public
int
MaximumTicks
{
get
{
return
_MaximumTicks; }
set
{
if
(_MaximumTicks != value)
{
_MaximumTicks = value;
DateTimeContinuousAxis dateAxis = PropertyChart.HorizontalAxis
as
DateTimeContinuousAxis;
if
(dateAxis !=
null
)
dateAxis.MaximumTicks = _MaximumTicks;
}
}
}
public
MainWindow()
{
Series1 =
new
List<MyPoint>();
DateTime startDate =
new
DateTime(2014, 1, 1);
for
(
int
i = 0; i < 1000; i++)
Series1.Add(
new
MyPoint() { Date = startDate.AddMonths(i),
Value = (Math.Sin(i / 100.0)) * 500 });
InitializeComponent();
DataContext =
this
;
}
}
}