| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 | <UserControl x:Class="Aitex.Core.UI.Control.LineDataChart"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:sciChart="http://schemas.abtsoftware.co.uk/scichart"              xmlns:cv="clr-namespace:Aitex.Core.UI.Converters"             mc:Ignorable="d"              d:DesignHeight="600" d:DesignWidth="1000">    <UserControl.Resources>        <Style TargetType="ToggleButton">            <Setter Property="Focusable" Value="False" />            <Setter Property="Height" Value="22" />            <Setter Property="Width" Value="80" />            <Setter Property="FontSize" Value="11" />            <Setter Property="Background" Value="Transparent" />            <Setter Property="BorderThickness" Value="0.5" />        </Style>        <cv:LineColorConverter x:Key="colorConverter"/>        <cv:bool2VisibilityConverter x:Key="bool2VisibilityConverter"/>        <cv:Visibility2boolConverter x:Key="vis2bool" />        <cv:RolloverDataTimeConverter x:Key="rolloverDataTimeConverter"/>        <cv:ColorToBrushConverter x:Key="ColorToBrushConverter"/>        <cv:RolloverDataPointerInfoConverter x:Key="rolloverDataPointerInfoConverter"/>        <!--  Template for the RolloverModifier tooltip to display AxisInfo collection (result of hit test)  -->        <ControlTemplate x:Key="RolloverLabelTemplate" TargetType="sciChart:TemplatableControl">            <Border Background="#AAFFFFFF" BorderBrush="{Binding SeriesColor, Converter={StaticResource ColorToBrushConverter}}" BorderThickness="2" CornerRadius="5">                <StackPanel Margin="5">                    <TextBlock FontSize="12" FontWeight="Bold" Foreground="{Binding SeriesColor, Converter={StaticResource ColorToBrushConverter}}" Text="{Binding SeriesName}"/>                    <TextBlock FontSize="11" Foreground="{Binding SeriesColor, Converter={StaticResource ColorToBrushConverter}}">                        <TextBlock.Text>                            <MultiBinding Converter="{StaticResource rolloverDataPointerInfoConverter}">                                <Binding Path="XValue"/>                                <Binding Path="Value"/>                                <Binding Path="RenderableSeries"/>                            </MultiBinding>                        </TextBlock.Text>                    </TextBlock>                </StackPanel>            </Border>        </ControlTemplate>    </UserControl.Resources>    <Grid>        <Grid.ColumnDefinitions>            <ColumnDefinition x:Name="dataConfigPanelColumn" MinWidth="0" Width="0"/>            <ColumnDefinition Width="0" />            <ColumnDefinition Width="400*" />        </Grid.ColumnDefinitions>         <Grid Grid.Column="2">            <!-- Create the chart surface -->            <sciChart:SciChartSurface Name="sciChart" RenderableSeries="{Binding RenderableSeries}"                                       sciChart:ThemeManager.Theme="ExpressionLight"                                      Padding="0,0,0,0"                                                                             MouseDoubleClick="sciChart_MouseDoubleClick"                                       DebugWhyDoesntSciChartRender="False" BorderBrush="Gray" Focusable="False" IsTabStop="False">                <!-- Create an X Axis -->                <sciChart:SciChartSurface.XAxis>                    <sciChart:DateTimeAxis DrawMinorTicks="False"                                            DrawMinorGridLines="False"                                            DrawMajorBands="False"                                           DrawMajorGridLines="False"                                           Margin="0,0,0,0"                                            SubDayTextFormatting="HH:mm:ss"                                            TitleFontSize="15"                                           FontSize="20"                                           TextFormatting="HH:mm:ss"                                            Id="DefaultAxisId" TitleFontWeight="Normal" />                </sciChart:SciChartSurface.XAxis>                <!-- Create a Y Axis -->                <sciChart:SciChartSurface.YAxis>                    <sciChart:NumericAxis DrawMinorTicks="False" Visibility="Visible"                                          DrawMinorGridLines="False"                                           AxisAlignment="Right"                                          Id="DefaultAxisId"                                           MajorDelta="0.1"                                           MinorDelta="0.1"                                           DrawMajorBands="False"                                           Focusable="False" BorderThickness="0"                                           AutoRange="Always" DrawLabels="False"                                           Width="0"                                          DrawMajorGridLines="True" DrawMajorTicks="False">                        <sciChart:NumericAxis.GrowBy>                            <sciChart:DoubleRange Min="0.1" Max="0.1"/>                        </sciChart:NumericAxis.GrowBy>                    </sciChart:NumericAxis>                </sciChart:SciChartSurface.YAxis>                <!-- Create Y Axes on the Left and Right -->                <sciChart:SciChartSurface.YAxes>                    <sciChart:NumericAxis TickTextBrush="Black" Id="PressureYAxisId" AxisAlignment="Left" MinWidth="75" MaxWidth="75" MouseEnter="NumericAxis_Pyro_MouseEnter" MouseLeave="NumericAxis_Pyro_MouseLeave" FontSize="20">                        <sciChart:NumericAxis.GrowBy>                            <sciChart:DoubleRange Min="0.1" Max="0.1"/>                        </sciChart:NumericAxis.GrowBy>                        </sciChart:NumericAxis>                    <sciChart:NumericAxis TickTextBrush="Black" Id="GeneralYAxisId" AxisAlignment="Right" MinWidth="75" MaxWidth="75" MouseLeave="NumericAxis_Reflect_MouseLeave" MouseEnter="NumericAxis_Reflect_MouseEnter" FontSize="20">                        <sciChart:NumericAxis.GrowBy>                            <sciChart:DoubleRange Min="0.1" Max="0.1"/>                        </sciChart:NumericAxis.GrowBy>                    </sciChart:NumericAxis>                    <!--<sciChart:NumericAxis TickTextBrush="Green" Id="CurvatureAxisId" AxisAlignment="Right" MinWidth="35" MaxWidth="35" MouseEnter="NumericAxis_Wrap_MouseEnter" MouseLeave="NumericAxis_Wrap_MouseLeave" FontSize="10">                        <sciChart:NumericAxis.GrowBy>                            <sciChart:DoubleRange Min="0.1" Max="0.1"/>                        </sciChart:NumericAxis.GrowBy>                    </sciChart:NumericAxis>-->                </sciChart:SciChartSurface.YAxes>                <!--  Vertical Lines Annotations>                <sciChart:SciChartSurface.Annotations>                    <sciChart:VerticalLineAnnotation x:Name="vertical_Line1" X1="{Binding Time1,Mode=TwoWay}" X2="{Binding Time1,Mode=TwoWay}" Stroke="Red" VerticalAlignment="Stretch" ShowLabel="True" StrokeThickness="1.5" IsEditable="True" LabelTextFormatting="yyyy/MM/dd HH:mm:ss" IsHidden="True" LabelPlacement="Bottom" FontSize="10" Padding="0,0,0,20" />                    <sciChart:VerticalLineAnnotation x:Name="vertical_Line2" X1="{Binding Time2,Mode=TwoWay}" X2="{Binding Time2,Mode=TwoWay}" Stroke="Purple" VerticalAlignment="Stretch" ShowLabel="True" StrokeThickness="1.5" IsEditable="True" LabelTextFormatting="yyyy/MM/dd HH:mm:ss" IsHidden="True" LabelPlacement="Bottom" FontSize="10" />                </sciChart:SciChartSurface.Annotations-->                <!-- Specify interactivity modifiers -->                <sciChart:SciChartSurface.ChartModifier>                    <sciChart:ModifierGroup ExecuteOn="MouseDoubleClick">                         <!-- Provides selection of series and custom styling to the selected series -->                        <!--<sciChart:SeriesSelectionModifier ExecuteOn="MouseLeftButton" ReceiveHandledEvents="True">                            <sciChart:SeriesSelectionModifier.SelectedSeriesStyle>                                <Style TargetType="sciChart:BaseRenderableSeries">                                    <Setter Property="Width" Value="3"/>                                    <Setter Property="PointMarkerTemplate">                                        <Setter.Value>                                            <ControlTemplate>                                                <Ellipse Fill="#FFAA00AA" Stroke="Red" Width="8" Height="8"/>                                            </ControlTemplate>                                        </Setter.Value>                                    </Setter>                                </Style>                            </sciChart:SeriesSelectionModifier.SelectedSeriesStyle>                        </sciChart:SeriesSelectionModifier>-->                        <sciChart:RubberBandXyZoomModifier x:Name="rubberBandZoomModifier" IsEnabled="True"                                                            IsXAxisOnly="False"                                                            ZoomExtentsY="False"                                                            IsAnimated="True" ExecuteOn="MouseLeftButton" ReceiveHandledEvents="True" />                        <!--<sciChart:ZoomExtentsModifier x:Name="zoomExtentsModifier" ExecuteOn="MouseDoubleClick"/>-->                        <sciChart:CursorModifier IsEnabled="True"  ShowTooltipOn="MouseOver"  ShowAxisLabels="True"  SourceMode="AllSeries" ShowTooltip="False" />                        <!-- Provides a data source for the legend control -->                        <sciChart:LegendModifier ShowLegend="False" GetLegendDataFor="AllSeries" x:Name="legendModifier"/>                        <!--<sciChart:RubberBandXyZoomModifier IsEnabled="True" IsXAxisOnly="True"/>-->                        <!--<sciChart:CursorModifier IsEnabled="True"                                                 ShowAxisLabels="True"                                                 ShowTooltip="True" />-->                        <!--自由平移-->                        <sciChart:ZoomPanModifier x:Name="zoomPanModifier" IsEnabled="True" ExecuteOn="MouseRightButton" ClipModeX="None" />                        <!--移动鼠标时动态显示当前数据值-->                        <sciChart:RolloverModifier x:Name="rolloverModifier"                                                    UseInterpolation="False" FontSize="9" IsEnabled="True"                                                    DrawVerticalLine="False" FontFamily="Arial,SimSun"                                                    SnapsToDevicePixels="False"                                                                                               ShowAxisLabels="False" />                        <!--2020.3.1  upgrade to sciChart 6.0 this property is invalid =>TooltipLabelTemplate="{StaticResource RolloverLabelTemplate}" -->                        <!--<sciChart:LegendModifier x:Name="legendModifier" GetLegendDataFor="AllSeries"/>-->                        <!--<sciChart:RubberBandXyZoomModifier IsXAxisOnly="True"/>-->                        <!--<sciChart:XAxisDragModifier/>-->                        <!--<sciChart:YAxisDragModifier/>-->                        <!--<sciChart:ZoomExtentsModifier ExecuteOn="MouseDoubleClick"/>-->                        <!--双击自动显示全部视图-->                        <!--<sciChart:ZoomPanModifier ExecuteOn="MouseLeftButton"/>-->                        <!--                        <sciChart:XAxisDragModifier x:Name="xAxisDragModifier" IsEnabled="True" ClipModeX="None"/>                        <sciChart:YAxisDragModifier x:Name="yAxisRightDragmodifier" IsEnabled="True" YAxisId="DefaultAxisId"/>                        -->                        <sciChart:MouseWheelZoomModifier x:Name="mouseWheelZoomModifier" XyDirection="XDirection"/>                        <!--滚轮滚动进行缩放操作-->                        <!--                        <sciChart:ZoomPanModifier ReceiveHandledEvents="True"></sciChart:ZoomPanModifier>                        <sciChart:ZoomExtentsModifier ExecuteOn="MouseDoubleClick"/>                        -->                    </sciChart:ModifierGroup>                </sciChart:SciChartSurface.ChartModifier>            </sciChart:SciChartSurface>            <sciChart:SciChartLegend x:Name="legendControl" Visibility="Hidden"                                     Grid.Row="0" Margin="5,5" ShowVisibilityCheckboxes="True"                                      LegendData="{Binding LegendData, ElementName=legendModifier, Mode=OneWay}"                                      FontSize="10" FontWeight="Light" />            <!--<sciChart:SciChartOverview Grid.Row="1"                                         ParentSurface="{Binding ElementName=sciChart}"                                       SelectedRange="{Binding ElementName=sciChart, Path=XAxis.VisibleRange, Mode=TwoWay}"                                        sciChart:ThemeManager.Theme="BlackSteel" BorderThickness="0,1,0,0" />-->            <!-- Define a panel to display rollover results -->            <!--            <Border BorderBrush="#55000000" BorderThickness="2" Background="#77FFFFFF"                     VerticalAlignment="Top" CornerRadius="5"                    Margin="3,25,0,0" Padding="2" HorizontalAlignment="Left"                     Visibility="{Binding IsRolloverInfoDisplayEnabled,Converter={StaticResource bool2VisibilityConverter}}">                <ItemsControl DataContext="{Binding ElementName=rolloverModifier}"                               ItemsSource="{Binding SeriesData.SeriesInfo}">                    <ItemsControl.ItemTemplate>                        <DataTemplate>                            <Grid Height="13" Opacity="0.9">                                <Grid.ColumnDefinitions>                                    <ColumnDefinition Width="20"/>                                    <ColumnDefinition Width="126"/>                                    <ColumnDefinition Width="110"/>                                    <ColumnDefinition Width="*"/>                                </Grid.ColumnDefinitions>                                <TextBlock Grid.Column="0" Background="{Binding SeriesColor, Converter={StaticResource ColorToBrushConverter}}" Text="  " Margin="0" Height="8" />                                <TextBlock Grid.Column="1" Text="{Binding XValue,Converter={StaticResource rolloverDataTimeConverter}}" Margin="0" FontSize="9" FontFamily="Arial,SimSun" />                                <TextBlock Grid.Column="2" Margin="0" FontSize="9" FontFamily="Arial,SimSun">                                    <TextBlock.Text>                                        <MultiBinding Converter="{StaticResource rolloverDataValueConverter}">                                            <Binding Path="Value"/>                                            <Binding Path="RenderableSeries"/>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <TextBlock Grid.Column="3" Text="{Binding SeriesName}" Margin="0" FontSize="9" FontFamily="Arial,SimSun"  HorizontalAlignment="Left"/>                            </Grid>                        </DataTemplate>                    </ItemsControl.ItemTemplate>                </ItemsControl>            </Border>            -->            <StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="82,0,0,0">                <!--<CheckBox Content="Display DataItems Panel" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="Black"  IsChecked="True"  Checked="checkConfigPanel_Checked" Unchecked="checkConfigPanel_Checked"/>-->                <CheckBox Content="Auto Zoom" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" IsChecked="True" x:Name="ckAutoZoom"   Checked="checkAutoRange_Checked" Unchecked="checkAutoRange_Checked"/>                <!--                <CheckBox Content="X轴滚动缩放" HorizontalAlignment="Left" IsChecked="{Binding IsXZoomEnabled}"/>                <CheckBox Content="Y轴滚动缩放" HorizontalAlignment="Left" IsChecked="{Binding IsYZoomEnabled}" />                -->                <!--CheckBox Content="时间标尺   " HorizontalAlignment="Left" Name="checkTimeLine" Foreground="Black" VerticalAlignment="Center" Checked="checkTimeLine_Checked" Unchecked="checkTimeLine_Checked"/-->                <Label Content="{Binding ProcessInfo}" VerticalAlignment="Center" Height="25" Margin="28,0,0,0" HorizontalAlignment="Left" BorderThickness="0" Width="auto" FontSize="12" FontFamily="Arial,SimSun" />            </StackPanel>            <Label Content="▲" HorizontalAlignment="Right" Margin="0,0,2,0" Name="warpAxisTopUp" BorderThickness="1" BorderBrush="Green" Width="34" HorizontalContentAlignment="Center" Padding="0.5" FontSize="13" FontWeight="ExtraBold" Background="White" Foreground="Green" Height="20" VerticalAlignment="Top" MouseLeave="NumericAxis_Wrap_MouseLeave" MouseLeftButtonDown="YAxisTopUp_Click" Tag="2" Visibility="Collapsed" />            <Label BorderBrush="Red" BorderThickness="1" Content="▲" FontSize="13" FontWeight="ExtraBold" Height="20" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Name="pyroAxisTopUp" Padding="0.5" VerticalAlignment="Top" Width="34" Background="White" Foreground="Red" ForceCursor="False" MouseLeave="NumericAxis_Pyro_MouseLeave" MouseLeftButtonDown="YAxisTopUp_Click" Tag="0" Visibility="Collapsed" Margin="1,0,0,0" />            <Label BorderBrush="Red" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="1,19,0,0" Name="pyroAxisTopDown" Padding="0.5" Width="34" Background="White" Foreground="Red" Height="20" VerticalAlignment="Top" ForceCursor="False" ClipToBounds="True" MouseLeave="NumericAxis_Pyro_MouseLeave" MouseLeftButtonDown="YAxisTopDown_Click" Tag="0" Visibility="Collapsed" />            <Label BorderBrush="Green" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" Height="20" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,19,2,0" Name="warpAxisTopDown" Padding="0.5" VerticalAlignment="Top" Width="34" Background="White" Foreground="Green" MouseLeave="NumericAxis_Wrap_MouseLeave" MouseLeftButtonDown="YAxisTopDown_Click" Tag="2" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Green" BorderThickness="1" Content="▲" FontSize="13" FontWeight="ExtraBold" Foreground="Green" Height="20" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,0,2,42" Name="warpAxisBottomUp" Padding="0.5" VerticalAlignment="Bottom" Width="34" MouseLeave="NumericAxis_Wrap_MouseLeave" Tag="2" MouseLeftButtonDown="YAxisBottomUp_Click" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Red" BorderThickness="1" Content="▲" FontSize="13" FontWeight="ExtraBold" Foreground="Red" Height="20" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="1,0,0,42" Name="pyroAxisBottomUp" Padding="0.5" VerticalAlignment="Bottom" Width="34" ForceCursor="False" MouseLeave="NumericAxis_Pyro_MouseLeave" Tag="0" MouseLeftButtonDown="YAxisBottomUp_Click" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Red" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" Foreground="Red" Height="20" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="1,0,0,23" Name="pyroAxisBottomDown" Padding="0.5" VerticalAlignment="Bottom" Width="34" ForceCursor="False" MouseLeave="NumericAxis_Pyro_MouseLeave" Tag="0" MouseLeftButtonDown="YAxisBottomDown_Click" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Green" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" Foreground="Green" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,0,2,23" Name="warpAxisBottomDown" Padding="0.5" Width="34" Height="20" VerticalAlignment="Bottom" MouseLeave="NumericAxis_Wrap_MouseLeave" Tag="2" MouseLeftButtonDown="YAxisBottomDown_Click" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Blue" BorderThickness="1" Content="▲" FontSize="13" FontWeight="ExtraBold" Foreground="Blue" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,0,36,0" Name="ReflectAxisTopUp" Padding="0.5" Width="34" MouseLeave="NumericAxis_Reflect_MouseLeave" MouseLeftButtonDown="YAxisTopUp_Click" Tag="1" Visibility="Collapsed" Height="20" VerticalAlignment="Top" />            <Label Background="White" BorderBrush="Blue" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" Foreground="Blue" Height="20" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,19,36,0" Name="ReflectAxisTopDown" Padding="0.5" VerticalAlignment="Top" Width="34" MouseLeave="NumericAxis_Reflect_MouseLeave" MouseLeftButtonDown="YAxisTopDown_Click" Tag="1" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Blue" BorderThickness="1" Content="▲" FontSize="13" FontWeight="ExtraBold" Foreground="Blue" Height="20" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,0,36,42" Name="ReflectAxisBottomUp" Padding="0.5" VerticalAlignment="Bottom" Width="34" MouseLeave="NumericAxis_Reflect_MouseLeave" Tag="1" MouseLeftButtonDown="YAxisBottomUp_Click" Visibility="Collapsed" />            <Label Background="White" BorderBrush="Blue" BorderThickness="1" Content="▼" FontSize="13" FontWeight="ExtraBold" Foreground="Blue" Height="20" HorizontalAlignment="Right" HorizontalContentAlignment="Center" Margin="0,0,36,23" Name="ReflectAxisBottomDown" Padding="0.5" VerticalAlignment="Bottom" Width="34" MouseLeave="NumericAxis_Reflect_MouseLeave" Tag="1" MouseLeftButtonDown="YAxisBottomDown_Click" Visibility="Collapsed" />        </Grid>    </Grid></UserControl>
 |