when working first time with the bindable chart I ran into a misbehavior I am not able to fix:
The program contains two charts - one simple pointLine, the other contains a surfaceGrid3D and an intensityGrid which can be swapped using a button.
All three are using the same min/max values.
To let the user limit the data that is shown I added sliders for min/max of all three dimensions.
After binding all the values the surfaceGrid3D and the pointLine are behaving as intended: When manipulation the values for min/max the axes and the plot are adjusted properly.
But the intensityGrid misbehaves. The axes are adjusted but the plot just ignores the new limits and is rendered as before.
If the min/max values are not manipulated:
When manipulating the min/max through the axis-controls (the little nubs on the ends) or by zooming the plot reacts normally.
When moving the pointLine around the intensityGrid is moved accordingly.
if manipulated everything (zooming, moving ...) happens with an offset for the intensityGrid
I uploaded a short video to make it more clear: https://www.youtube.com/watch?v=SXUOesdS5NA
What did I do wrong?
Would be great if anyone is able to help me.
This is the XAML:
Code: Select all
<lcub:LightningChartUltimate.ViewXY>
<lcub:ViewXY>
<lcub:ViewXY.GraphBackground>
<lcub:Fill Color="White" GradientFill="Solid"/>
</lcub:ViewXY.GraphBackground>
<lcub:ViewXY.LegendBox>
<lcub:LegendBoxXY Visible="False"/>
</lcub:ViewXY.LegendBox>
<lcub:ViewXY.XAxes>
<lcub:AxisX Minimum="{Binding CurrentRanges.MinRuntime, Mode=TwoWay}"
Maximum="{Binding CurrentRanges.MaxRuntime, Mode=TwoWay}"
RangeRevertMinimum="{Binding BaseRanges.MinRuntime}"
RangeRevertMaximum="{Binding BaseRanges.MaxRuntime}"
RangeRevertEnabled="True"
LabelsColor="Gray"
AxisColor="Gray"
AxisThickness="1">
<lcub:AxisX.MajorDivTickStyle>
<lcub:AxisTickStyle Color="Black"/>
</lcub:AxisX.MajorDivTickStyle>
<lcub:AxisX.MinorDivTickStyle>
<lcub:AxisTickStyle Color="DarkGray"/>
</lcub:AxisX.MinorDivTickStyle>
<lcub:AxisX.Title>
<lcub:AxisXTitle Text="Runtime" Color="Black">
<lcub:AxisXTitle.Shadow>
<lcub:TextShadow Style="Off"/>
</lcub:AxisXTitle.Shadow>
</lcub:AxisXTitle>
</lcub:AxisX.Title>
<lcub:AxisX.ScaleNibs>
<lcub:AxisDragNib Color="#036"/>
</lcub:AxisX.ScaleNibs>
</lcub:AxisX>
</lcub:ViewXY.XAxes>
<lcub:ViewXY.YAxes>
<lcub:AxisY Minimum="{Binding CurrentRanges.MinSegment, Mode=TwoWay}"
Maximum="{Binding CurrentRanges.MaxSegment, Mode=TwoWay}"
RangeRevertMinimum="{Binding BaseRanges.MinSegment}"
RangeRevertMaximum="{Binding BaseRanges.MaxSegment}"
RangeRevertEnabled="True"
LabelsColor="Gray"
AxisColor="Gray"
AxisThickness="1">
<lcub:AxisY.MajorDivTickStyle>
<lcub:AxisTickStyle Color="Black"/>
</lcub:AxisY.MajorDivTickStyle>
<lcub:AxisY.MinorDivTickStyle>
<lcub:AxisTickStyle Color="DarkGray"/>
</lcub:AxisY.MinorDivTickStyle>
<lcub:AxisY.Title>
<lcub:AxisYTitle Text="Segment" Color="Black">
<lcub:AxisYTitle.Shadow>
<lcub:TextShadow Style="Off"/>
</lcub:AxisYTitle.Shadow>
</lcub:AxisYTitle>
</lcub:AxisY.Title>
<lcub:AxisY.ScaleNibs>
<lcub:AxisDragNib Color="#036"/>
</lcub:AxisY.ScaleNibs>
</lcub:AxisY>
</lcub:ViewXY.YAxes>
<lcub:ViewXY.IntensityGridSeries>
<lcub:IntensityGridSeries Data="{Binding ViewTopDown}"
RangeMinX="{Binding BaseRanges.MinRuntime}"
RangeMaxX="{Binding BaseRanges.MaxRuntime}"
RangeMinY="{Binding BaseRanges.MinSegment}"
RangeMaxY="{Binding BaseRanges.MaxSegment}"
Fill="Paletted"
ValueRangePalette="{Binding PaletteTopDown, Mode=OneWay}"
MouseInteraction="False"
PixelRendering="False"
/>
</lcub:ViewXY.IntensityGridSeries>
</lcub:ViewXY>
</lcub:LightningChartUltimate.ViewXY>