Just so you know, there are multiple errors here: http://www.telerik.com/help/wpf/radchartview-axes-datetimeaxes.html (XAML and VB).
8 Answers, 1 is accepted
0
Hello Nick,
Indeed you are correct -- we will forward your feedback to our techincal writers so they can review and update the help topic(s).
Here is the correct code for your reference:
XAML
VB.NET
We have updated your Telerik points as well.
Best wishes,
Giuseppe
the Telerik team
Indeed you are correct -- we will forward your feedback to our techincal writers so they can review and update the help topic(s).
Here is the correct code for your reference:
XAML
<UserControl x:Class="SilverlightApplication16_vb.MainPage" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <telerik:RadCartesianChart x:Name="chart"> <telerik:RadCartesianChart.HorizontalAxis> <telerik:DateTimeContinuousAxis LabelFitMode="MultiLine" LabelFormat="MMM yyyy"/> </telerik:RadCartesianChart.HorizontalAxis> <telerik:RadCartesianChart.VerticalAxis> <telerik:LinearAxis/> </telerik:RadCartesianChart.VerticalAxis> <telerik:RadCartesianChart.Series> <telerik:LineSeries Stroke="Orange" StrokeThickness="2"/> </telerik:RadCartesianChart.Series> </telerik:RadCartesianChart> </Grid></UserControl>VB.NET
Imports Telerik.Windows.Controls.ChartViewPartial Public Class MainPage Inherits UserControl Public Sub New() InitializeComponent() Dim lastDate As DateTime = DateTime.Now Dim lastVal As Double = 20 Dim dataSource As List(Of ChartDataObject) = New List(Of ChartDataObject) For i As Integer = 0 To 5 Step 1 Dim obj As ChartDataObject = New ChartDataObject obj.[Date] = lastDate.AddMonths(1) obj.Value = lastVal dataSource.Add(obj) lastVal += 1 lastDate = obj.[Date] Next Dim series As LineSeries = DirectCast(Me.chart.Series(0), LineSeries) Dim categoryBinding As PropertyNameDataPointBinding = New PropertyNameDataPointBinding categoryBinding.PropertyName = "Date" Dim valueBinding As PropertyNameDataPointBinding = New PropertyNameDataPointBinding valueBinding.PropertyName = "Value" series.CategoryBinding = categoryBinding series.ValueBinding = valueBinding series.ItemsSource = dataSource End SubEnd ClassPublic Class ChartDataObject Dim _date As Date Dim _value As Double Public Property [Date]() As DateTime Get Return Me._date End Get Set(value As DateTime) Me._date = value End Set End Property Public Property Value() As Double Get Return Me._value End Get Set(value As Double) Me._value = value End Set End PropertyEnd ClassWe have updated your Telerik points as well.
Best wishes,
Giuseppe
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Nick
Top achievements
Rank 1
answered on 08 Dec 2011, 04:41 PM
Thanks. Unfortunately, the code still does not run. I get: "The property 'Stroke' does not exist in XML namespace 'http://schemas.telerik.com/2008/xaml/presentation" on the XAML side.
If I remove those attributes (just to get passed that error), the VB throws the error: 'Add value to collection of type 'Telerik.Windows.Controls.ChartView.PresenterCollection(Telerik.Windows.Controls.ChartView.CartesianSeries)' threw an exception.' Line number '23' and line position '22'.
If I remove those attributes (just to get passed that error), the VB throws the error: 'Add value to collection of type 'Telerik.Windows.Controls.ChartView.PresenterCollection(Telerik.Windows.Controls.ChartView.CartesianSeries)' threw an exception.' Line number '23' and line position '22'.
0
Hello Nick,
We double-checked the code and it works as expected on our end -- we have attached runnable sample projects (WPF/SL) for your reference.
Hope this helps.
Regards,
Giuseppe
the Telerik team
We double-checked the code and it works as expected on our end -- we have attached runnable sample projects (WPF/SL) for your reference.
Hope this helps.
Regards,
Giuseppe
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Nick
Top achievements
Rank 1
answered on 08 Dec 2011, 06:15 PM
Same errors for me after copying/pasting your code. Could this be a result of having Q1, Q2 and Q3 installed at the same time?
0
Nick
Top achievements
Rank 1
answered on 08 Dec 2011, 06:37 PM
OK. Found the problem. The code samples do not work if you have a reference to both Telerik.Windows.Controls.Charting and Telerik.Windows.Controls.Chart in the same project. The problem stems from the fact that there is ambiguity between the Charting and Chart references that are not handled in the sample/example code. This is a problem for me particularly because I am in the process of replacing the Charts in my project with the ChartView control to see if that alleviates the memory leak that occurs when using the Chart control.
0
Nick
Top achievements
Rank 1
answered on 08 Dec 2011, 08:37 PM
OK, I have successfully swapped out theChart with the ChartView. Without making any other changes, the application (which streams real-time data) is at least 5x faster!
In my old setup, I had tooltips, pointmarks, etc. all turned off on the chart controls, which were bound to observable collections and I limited the sampling to 6000 (10 minutes of rolling data). The application would always crash on my machine after about 1.5-2 hours streaming the data (outofmemoryexception). I tried everything-- even automatically calling gc.collect every 10 seconds. Nothing quelled the Chart controls' hunger for more and more memory.
This control, although only in beta, is leaps and bounds faster at real-time data. Kudos to you,Telerik. You have officially resolved the last major hurdle we had to ship our SCADA software (which also uses your treeview, griview, menu, map and input controls).
A minor question I still had was, how do I change the color of the X and Y axis labels? I can seem to find that in the documentation.
Thanks!
In my old setup, I had tooltips, pointmarks, etc. all turned off on the chart controls, which were bound to observable collections and I limited the sampling to 6000 (10 minutes of rolling data). The application would always crash on my machine after about 1.5-2 hours streaming the data (outofmemoryexception). I tried everything-- even automatically calling gc.collect every 10 seconds. Nothing quelled the Chart controls' hunger for more and more memory.
This control, although only in beta, is leaps and bounds faster at real-time data. Kudos to you,Telerik. You have officially resolved the last major hurdle we had to ship our SCADA software (which also uses your treeview, griview, menu, map and input controls).
A minor question I still had was, how do I change the color of the X and Y axis labels? I can seem to find that in the documentation.
Thanks!
0
Hi Nick,
You can achieve the desired effect by setting the Axis.LabelStyle property like this:
Hope this helps.
All the best,
Giuseppe
the Telerik team
You can achieve the desired effect by setting the Axis.LabelStyle property like this:
<Grid x:Name="LayoutRoot" Background="White"> <Grid.Resources> <Style x:Key="LabelStyle" TargetType="TextBlock"> <Setter Property="Foreground" Value="Red" /> </Style> </Grid.Resources> <telerik:RadCartesianChart x:Name="RadChart1"> <telerik:BarSeries> <telerik:BarSeries.DataPoints> <telerik:CategoricalDataPoint Value="2" /> <telerik:CategoricalDataPoint Value="1" /> <telerik:CategoricalDataPoint Value="4" /> <telerik:CategoricalDataPoint Value="5" /> <telerik:CategoricalDataPoint Value="6" /> </telerik:BarSeries.DataPoints> </telerik:BarSeries> <telerik:RadCartesianChart.HorizontalAxis> <telerik:CategoricalAxis LabelStyle="{StaticResource LabelStyle}" /> </telerik:RadCartesianChart.HorizontalAxis> <telerik:RadCartesianChart.VerticalAxis> <telerik:LinearAxis LabelStyle="{StaticResource LabelStyle}" /> </telerik:RadCartesianChart.VerticalAxis> </telerik:RadCartesianChart></Grid>Hope this helps.
All the best,
Giuseppe
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Denis
Top achievements
Rank 1
answered on 31 Jan 2013, 02:41 PM
Thx for the solution.