SciChart TimeSpanAxis не показывает VerticalLineAnnotation - PullRequest
0 голосов
/ 03 мая 2018

Используя SciChart v5.1.0.11299, я пытаюсь отобразить VerticalLineAnnotations с TimeSpanAxis в качестве оси X. Я могу отображать вертикальные линии с помощью NumericAxis, но не с TimeSpanAxis.

    <s:SciChartSurface ChartTitle="Values vs Time">
                        <s:SciChartSurface.XAxis>
                            <s:TimeSpanAxis AxisTitle="Time">
                                <s:TimeSpanAxis.VisibleRange>
                                    <s:TimeSpanRange Min="00" Max="00:10:00"/>
                                </s:TimeSpanAxis.VisibleRange>
                            </s:TimeSpanAxis>
                        </s:SciChartSurface.XAxis>
                        <s:SciChartSurface.YAxis>
                            <s:NumericAxis AxisTitle="Values"/>
                        </s:SciChartSurface.YAxis>
                        <s:SciChartSurface.Annotations>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="00:00:10"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="00:00:20"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="00:01:00"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="00:02:00"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="00:05:00"/>
                        </s:SciChartSurface.Annotations>
                    </s:SciChartSurface>

Однако соответствующая версия в виде NumericAxis отображает VerticalLineAnnotations:

                    <s:SciChartSurface ChartTitle="Values vs Not Time">
                        <s:SciChartSurface.XAxis>
                            <s:NumericAxis AxisTitle="Not Time">
                                <s:NumericAxis.VisibleRange>
                                    <s:DoubleRange Min="00" Max="1000"/>
                                </s:NumericAxis.VisibleRange>
                            </s:NumericAxis>
                        </s:SciChartSurface.XAxis>
                        <s:SciChartSurface.YAxis>
                            <s:NumericAxis AxisTitle="Values"/>
                        </s:SciChartSurface.YAxis>
                        <s:SciChartSurface.Annotations>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="0010"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="0020"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="0100"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="0200"/>
                            <s:VerticalLineAnnotation Stroke="Orange" StrokeThickness="1" X1="0500"/>
                        </s:SciChartSurface.Annotations>
                    </s:SciChartSurface>

Это должно быть возможно, но я не могу найти пример требуемых различий в отношении NumericAxis?

Заранее спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Я думаю, что проблема в том, что вы не можете легко установить TimeSpan в Xaml.

Свойство VerticalLineAnnotation.X1 является IComparable, поэтому компилятор Xaml выбирает его как строку.

Попробуйте установить для X1 значение TimeSpan в коде, прикрепленном поведении или привязке к ViewModel

...