Currently, the control relies on its IsLoaded property to determine if it should render its items (axes, data points, annotations, etc.). However, if you measure and arrange the control in code without adding it into the visual tree, the IsLoaded property is not set to True, therefore the chart is not rendered and the image gets empty. Original description ---------------------------------- Title: RadCartesianChart incorrecly rendered We're rendering (Telerik) charts in code behind, to include them in a dynamic documentation. For most controls it works fine - using standard methods (rendering control with System.Windows.Media.Imaging.RenderTargetBitmap and saving the result BitmapSource to disk) However, it's impossible with RadCartesianChart with CategoricalSeriesDescriptor or ChartSeriesDescriptor. What we are able to get are axes and descriptions, but not bars. I'm attaching an example - MainWindow displays a chart. I try to also create the chart in code behind. In CreateAndSaveChart() method I create a chart with a DataContext, then I call Measure and Arrange methods on it. At this stage the control should be properly initialized and ready to render. (For simplicity I omit rendering control with RenderTargetBitmap - you can preview the control with WPF Tree Visualizer, which will give you the same result). Well, if you preview the control at this stage, you'll see that the chart is missing bars. Next I create a new Window with my chart as a content, and display it for a while. Now the chart is fully and correctly rendered. As a workaround we display some Telerik chart in a transparent window to fully render, but such a workaround was reported not to work for some clients and is unacceptable in a long run. With most of Telerik charts we don't have such problems. Other issue: - for other Telerik charts we need to wait a few seconds to have it fully rendered. It's be better to have an event informing that the control is ready. I'll be happy to add more details if you need any. * While experimenting with the example I've suddenly managed to render the chart with bars, but this time the rendered size was incorrect (very small)
How can I hide the point in the lineSeries with the large data,and then zoom in by mousewheel,the point can be show in the lineSeries,when zoom out again,the point can be hide. Because with large data in a view,if show the point, the lineSeries's performance is poor,and the details area is not necessary,only when zoom in,we hope to show the point.
Hi, I worked with a lot of chart components for Wpf. I think Telerik offer the best charts architecture that allow to obtain great results in every scenario. After years of use, I think is possible to improve more the global architecture. 1) Series Dataset Charts now works with Points. I think that a better solution require a more abstract structure as a virtual "Dataset". A dataset reuire a type [conform to X axis], tipically X can be a double, a datetime, a label. Dataset return info about poits, tipically: - Min X - Max X Dataset return a DataContext that allow to draw chart: - GetCloserX to an X value [Trackball/Lables...] - GetPoints from/to [Pan/Zoom] This approach is really more efficent and powerfull. In example you can simply define a Dataset as a Formula: Dataset "CosX" based on doubles. MinX=-inf Maxx=+inf GetDataContext from/to -> Return allways 100 points x, cos(x). So you can obtain: - Ultraefficient series using GetDataContext algorithms for specific cases, in example, ordered data. - Trend lines using "Formula" series 2) Only one series, with subtypes. It is really annoying change series type. I think a chart must contains a series and this series can show Line, Area, Split Line, Markers, Columns... To write a good "option panel" that allow user to set Line Thickness, Line Split or standard, Area opacity, Area Color, Marker Type, Marker Colors, Columns Borders... require today a giant work and elaborate code that add and remove serie, reassign points, set z-index, remove and add series in legend... with an incredible useless works in points. 3) More accurate axes definition. Now Chart and Series expose Horizontal and Vertical Axis property. I think this is terrible properties :-). "Horizontal" and "Vertical" is depending chart orientation. Furthermore now, first X/Y axis must be set in chart, others in series. Moving series from an axis to another is really annoying: if new axis is first you must set is null else you must set it... I think Chart must expose XAxesCollection and YAxesCollection. This collections must contains all X and Y axes. Series [and annotation and every object that uses axes] must expose XAxis and YAxis as the Axis object or Axis index. 4) Chart orientation Today a simple chart rotation require a lot of code. The developer must be invert Horizontal and vertical axes, change axes in series and annotations, zoom/pan stop to work... When this is combined with point 2) problems the result is an nightmare. I understand this require a big work and a lot of compatibility problems [Telerik already exposes two charts versions, three is probably a little bit confused]. But if Telerik obtains this features I think it become the most unattainable charts component producer of the world. Decline reason: Most suggestions were tried in the old RadChart and they weren't working very well.
It would be very useful if Charts would support multiple SeriesProviders to be able to plot data of different types without having to artificially consolidate them into a single list with the charting attirbutes exposed via the same properties.
XAML Team recently reviewed this request and decided not to address it in the future since the Smart Labels functionality was introduced in Q1 2014.
Provide a way to synchronize Trackball and Crosshair behaviors. XAML Team reviewed this request and decided not to address it in the future.
Introduce DesiredTickCount property for the DateTimeContinuousAxis. XAML Team reviewed this request and decided to not address it in the future. We introduced the ability for the axis to change step based on its size, so that labels do not overlap and presently we see no value in having such a DesiredTickCount property (whats even more the axis already has a MaximumTicks property).
RadPieChart labels are clipped when RadiusFactor is 1.0
Currently when sampling is used to generate the data points, the DataItem property of the DataPoint is null and there is no way to find out which data items have been used to generate the data point. A new property can be introduced (DataItems) which can contain the data items in mind. Decline reason: This item is duplicate of the following one: http://feedback.telerik.com/Project/143/Feedback/Details/113364-chartview-expose-the-data-items-when-sampling-is-used
Add support for tooltip visualization over the continuous series segments that would interpolate the actual value between data points. XAML Team reviewed this request and decided not to address it in the future. Appropriate way to get this is to use the crosshair behavior.
Add support for tooltip visualization over the continuous series segments (besides the current support for visualizing the tooltip over the actual data point / point mark). Declined due to duplication with http://feedback.telerik.com/Project/143/Feedback/Details/113405-chartview-enhanced-tooltip-support-for-continuous-series-segments-line-area-e
When SnapMode=TrackBallSnapMode.None the IntersectionPoints should be drawn not over DataPoints but over the real intersection between series and TrackBallLine (also the TrackBallControl should display the real calculated intersection value itself). XAML Team reviewed this request and decided not to address it in the future.