Hi,
I am using a tooltip template in Rad Cartesian Chart View for ScatterSplineSeries. I defined Point Template and tooltip template and able to display X & Y Values. I want to Display the Horizontal Axis Title along with X value and Vertical Axis Title with Y Value. Also I would like to display the spline name too. Somehow I am not able to display the contents. I read in telreik about DataItem property of DataPoint class and even tried using it but unsuccessful .Here is my XAML and View Model.
<telerik:RadCartesianChart x:Name="CartesianChart" Visibility="Visible" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Style="{StaticResource RadCartesianChartStyle1}"> <telerik:RadCartesianChart.Grid> <telerik:CartesianChartGrid MajorLinesVisibility="XY" MajorXLineStyle="{StaticResource GridLineStyle}" MajorYLineStyle="{StaticResource GridLineStyle}" /> </telerik:RadCartesianChart.Grid> <telerik:RadCartesianChart.HorizontalAxis> <telerik:LinearAxis Title="{Binding HorizontalAxisTitle}" Minimum="0" Maximum="35" LineThickness="2" LineStroke="Transparent" Foreground="{DynamicResource BRUSH_TEXT}" Style="{StaticResource LinearAxisStyle}" /> </telerik:RadCartesianChart.HorizontalAxis> <telerik:RadCartesianChart.VerticalAxis> <telerik:LinearAxis Minimum="0" Maximum="120" Title="{Binding VerticalAxisTitle}" LineThickness="2" Foreground="{DynamicResource BRUSH_TEXT}" Style="{StaticResource LinearAxisStyle}" /> </telerik:RadCartesianChart.VerticalAxis> <telerik:RadCartesianChart.Behaviors> <telerik:ChartPanAndZoomBehavior DragMode="Pan" ZoomMode="Both" PanMode="Both" /> <telerik:ChartTooltipBehavior /> </telerik:RadCartesianChart.Behaviors> <telerik:RadCartesianChart.SeriesProvider> <telerik:ChartSeriesProvider x:Name="ChartSeriesProvider" Source="{Binding SplineCollection}"> <telerik:ChartSeriesProvider.SeriesDescriptors> <telerik:ScatterSeriesDescriptor ItemsSourcePath="Points" YValuePath="YValue" XValuePath="XValue"> <telerik:ScatterSeriesDescriptor.Style> <Style TargetType="telerik:ScatterSplineSeries"> <Setter Property="StrokeThickness" Value="{Binding StrokeThickness}" /> <Setter Property="Stroke" Value="{Binding Color}" /> <Setter Property="TooltipTemplate"> <Setter.Value> <DataTemplate> <Border Background="{DynamicResource BRUSH_TOOLTIP}" BorderBrush="{DynamicResource BRUSH_TOOLTIP}" BorderThickness="1" Padding="10"> <StackPanel Background="{DynamicResource BRUSH_TOOLTIP}"> <StackPanel Width="{TemplateBinding Width}" Orientation="Horizontal" Background="{DynamicResource BRUSH_TOOLTIP}" Margin="5"> <TextBlock Text="{Binding DataItem.VerticalAxisTitle}" /> <TextBlock Text="{Binding YValue}" /> </StackPanel> <StackPanel Width="{TemplateBinding Width}" Orientation="Horizontal" Background="{DynamicResource BRUSH_TOOLTIP}" Margin="5"> <TextBlock Text="{Binding DataItem.HorizontalAxisTitle}" /> <TextBlock Text="{Binding XValue}" /> </StackPanel> <TextBlock Text="{Binding DataItem.Name}" /> </StackPanel> </Border> </DataTemplate> </Setter.Value> </Setter> <Setter Property="PointTemplate"> <Setter.Value> <DataTemplate> <Ellipse Width="20" Height="20" Fill="{DynamicResource BRUSH_SELECTION}" /> </DataTemplate> </Setter.Value> </Setter> <Style.Triggers> <DataTrigger Binding="{Binding IsDashed}" Value="True"> <Setter Property="DashArray" Value="5" /> </DataTrigger> </Style.Triggers> </Style> </telerik:ScatterSeriesDescriptor.Style> </telerik:ScatterSeriesDescriptor> </telerik:ChartSeriesProvider.SeriesDescriptors> </telerik:ChartSeriesProvider> </telerik:RadCartesianChart.SeriesProvider> </telerik:RadCartesianChart>
ViewModels
public class MainViewModel : ViewModelBase { public string HorizontalAxisTitle { get; set; } public string VerticalAxisTitle { get; set; } public ObservableCollection<SplineSeries> SplineCollection { get; set; } public MainViewModel() { HorizontalAxisTitle = string.Format("{0}", "Grey Value"); VerticalAxisTitle = string.Format("{0}", "Volume"); this.SplineCollection = GetSplineCollection(); } private ObservableCollection<SplineSeries> GetSplineCollection() { var result = new ObservableCollection<SplineSeries> { new SplineSeries() { Color = new SolidColorBrush(Colors.Red), StrokeThickness = 2, Name = "Structure1", Points = new ObservableCollection<Data>() { new Data() {XValue = 0, YValue = 100}, new Data() {XValue = 5, YValue = 100}, new Data() {XValue = 9, YValue = 90}, new Data() {XValue = 10, YValue = 50}, new Data() {XValue = 20, YValue = 80}, new Data() {XValue = 25, YValue = 60}, new Data() {XValue = 30, YValue = 0} } }, new SplineSeries() { Color = new SolidColorBrush(Colors.Orange), IsDashed = true, StrokeThickness = 2, Name = "Structure2", Points = new ObservableCollection<Data>() { new Data() {XValue = 0, YValue = 100}, new Data() {XValue = 5, YValue = 100}, new Data() {XValue = 10, YValue = 50}, new Data() {XValue = 20, YValue = 0} } } }; return result; }
public class SplineSeries : ViewModelBase
{
private SolidColorBrush myBrush = new SolidColorBrush( Colors.OrangeRed );
public SolidColorBrush Color
{
get { return myBrush; }
set { myBrush = value; }
}
public string Name { get; set; }
public double StrokeThickness { get; set; }
public bool IsDashed { get; set; }
public ObservableCollection<Data> Points { get; set; }
}
public class Data:ViewModelBase
{
public double XValue { get; set; }
public double YValue { get; set; }
}
How do I acheive this. Kindly Help me
This post makes it sound like there is no way to change the resize cursors for diagram shapes ... is this still the case?


Hi, when selecting items from the autocomplete box they add the items horizontally and to the right of the previous item. Is it possible to have each item have it's own row?
So instead of [Item1] [Item2] [Item3]
It'll be
[Item1]
[Item2]
[Item3]
Hey,
I tried getting a around, creating custom template and style for the crosshair labels, however nothing gets displayed.
Could you point me in the right direction with a simple demo? E.g vertical label being a red circle with the text written in black.
Thanks in advance
<Style TargetType="telerik:GridViewRow" x:Key="OrderItemStyle" BasedOn="{StaticResource GridViewRowStyle}"> <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" /> <Setter Property="telerik:DragDropManager.TouchDragTrigger" Value="TapAndHold"/>
</Style>Hi! First of all I bag your pardon for my poor English. I'm very interested in using ChartView control for building charts displaying information in real-time. I write a WPF C# application that is reading (in real-time) data slices (via COM-port) from ultrasonic flowmeter for gas conduit and (after reading every data slice) drawing (in real-time) line chart from data of this slice. So I have two questions:
1) Can I use ChartView for drawing of those charts in real-time?
2) What is the maximal time-resolution of ChartView? Does it has time-resolution in microseconds (that is it can executes drawing of chart in time-interval of tens of fmicroseconds) or in milliseconds only?