Hi there,
I’m having an issue showing selected points on top of all other series.
I have created a polygon selector chart modifier based on the following knowledge article: http://support.scichart.com/index.php?/Knowledgebase/Article/View/17237/32/custom-chartmodifiers—part-3—custom-select-and-drag-a-series
Specifically, the issue that I’m having is that when the user does the polygon selection if the last point of the polygon is on one of the other series, the series shows above the selected points.
I have tried to set IsSelected = true (from above link), but that doesn’t seem to work. Is there another way of doing it? Or am I doing it at the wrong place? I have tried to set the IsSelected = true right before and right after I add the selected point series to the surface.
I have added two images, the first is how the points are currently drawing, and the second of how it should look every time.
- Wandisile Nongodlwana asked 7 years ago
- last active 7 years ago
Hi there,
I am relatively new to C# and scicharts so you will have to forgive me a little.
In the project I am working on, I am trying to add dynamic renderable series as the user selects items in a tree. I have looked through the online tutorials and forums but still am having trouble. I am creating my own renderable series view model class derived off of LineRenderableSeriesViewModel. I found documentation that I needed to override the ViewType property and set it to a FastLineRenderableSeriesForMvvm.
When I am creating these objects to add to the ObservableCollection which is bound to my scichart surface, I can set the PointMarker and its properties, but not the SelectedPointMarker properties.
XAML:
<s:SciChartSurface Style="{StaticResource BasicSciChartSurfaceStyleRateVsTime}"
ViewportManager="{Binding RateVsTimePlot.Manipulator.Viewport}"
Name="RateVsTime" x:FieldModifier="private"
ZoomHistoryManager="{Binding RateVsTimePlot.ZoomHistory}"
PreviewMouseLeftButtonDown="PreviewRateVsTimeMouseLeftButtonDown"
PreviewMouseLeftButtonUp="PreviewRateVsTimeMouseLeftButtonUp"
RenderableSeries="{s:SeriesBinding RateVsTimePlot.RenderableSeriesViewModels}"
local:YAxesCollectionBehaviour.AxisSource="{Binding RateVsTimePlot.YAxesViewModels}"
local:YAxesCollectionBehaviour.AxisStyle="{StaticResource AxisStyle}"/>
Style:
<Style x:Key="ProdLineStyle" TargetType="s:FastLineRenderableSeriesForMvvm">
<Setter Property="s:TooltipModifier.IncludeSeries" Value="False"/>
<Setter Property="SelectedPointMarker">
<Setter.Value>
<s:EllipsePointMarker Fill="{Binding SeriesColors.ProductionColor}"
Stroke="{Binding SeriesColors.ProductionColor}"
Width="6" Height="6">
</s:EllipsePointMarker>
</Setter.Value>
</Setter>
</Style>
ViewModel :
var renderableSeries = new GenericRenderableSeriesViewModel
{
DataSeries = dataSeries.DataSeries,
YAxisId = dataSeries.AxisId,
IsSelected = IsSelected,
SeriesColors = _dataColors[fluidRateType],
DisplayEnabled = AnalysisInteractionMode.IsLineManipulationDisabled,
PointMarker = new EllipsePointMarker(),
StyleKey = "ProdLineStyle"
};
renderableSeries.SetRenderableSeriesColorSettings();
renderableSeries.DataSeries.SeriesName = fluidRateType.ToString();
return renderableSeries;
public void SetRenderableSeriesColorSettings()
{
Stroke = SeriesColors.ProductionColor;
if (PointMarker == null) return;
PointMarker.Stroke = SeriesColors.ProductionColor;
PointMarker.Fill = SeriesColors.ProductionColor;
PointMarker.Height = PointNonSelectedHeight;
PointMarker.Width = PointNonSelectedWidth;
}
When I run my app, I see what I am expecting by default, but when I do a point selection rectangle, the behavior is not correct. I only see the line. The points with in the rectangle disappear.
I am trying to move away from having the style set the selectedPointMarker, and doing it through code in the view model just like the function above as users will be able to change these properties in the future. But so far I haven’t found a way to do either.
Am I using the correct classes, or do I need to override something else? Any ideas or suggestions would be greatly appreciated
Thanks
Rylan
- Rylan Herndier asked 7 years ago
- last active 7 years ago