Hello!
Another that I have is this: Is it possible to override the zooming action so that the actual zoom doesn't happen (i.e. chart stays as it is), but instead a list of the points within the zoom window is returned, so that they can be filtered out to create a separate report on them?
Hi,
Please see: http://community.infragistics.com/forums/p/44025/242600.aspx#242600
Hope this helps!
-Graham
Before I proceed on this, I have a question: will it be possible to highlight somehow the points selected? Currently in our charts we highlight them with blue, but as I have read elsewhere on this forum that with XamDataChart it's not possible to style individual points. So, is that possible, and if yes -- how would I do it?
In general, you can color individual points by assigning a custom DataTemplate to the MarkerTemplate property of the series. Then you can bind a color in the marker to an underlying color on the individual data items. If those data items implement INotifyPropertyChanged, then when you change the color on the item the color on the point should be reflected.
So if you know which data items have been selected, you could modify their colors and have that change represented in the markers.
There are other ways to achieve this also. You could navigate the visual tree of the chart and find all visuals of type marker that are within the bounds of the box being drawn and override their color in some fashion, but the way first mentioned is more straightforward, if it suits your purposes.
Hope this helps! Let me know if you need more details. If you do a search for MarkerTemplate on these forums (the Silverlight and WPF version) you should see lots of examples of doing interesting things with custom marker templates.
one example: http://community.infragistics.com/forums/p/56967/291465.aspx#291465
It seems its discussed more on the wpf forums for the XamDataChart. The APIs are identical however.
Thanks for the heads up, didn't think of checking the WPF forum.
But if I walk down this road, will I be able to somehow reuse the standard marker types that are available? Or will I have to draw them myself in this case?
There are many ways you could go about this. You could have a back reference from each data point to the series, or to the collection that contains them which could have a reference to the series. Or you could populate a default color property on each item with the color you expect the series to have or that you will manually assign to the series.
But how can I get access to the serie from datapoint, if I assign a list of datapoints to the series' ItemsSource?
Sorry for the delay in reply. You can see which brush a series is using by inspecting ActualBrush.
You can explicitely set the color a series should use by setting its Brush property.
Alternatively you can set the Brushes collection on the chart, to set the series of brushes that the chart should chose from in order to assign to the series in the chart.
OK, so there seems to be no easy way... But how about assigning colors to the series -- is that possible? Like, create a set of random colors and assign them to the series one by one?
Well the data items (read: points) do have a Color property in them. The question is -- how do I access the serie color from inside the point?