<Page x:Class="FLY.Thick.BlowingScan.UI.Client.PgBlowingExt" 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:local="clr-namespace:FLY.Thick.BlowingScan.UI.Client" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls" xmlns:misc="clr-namespace:Misc;assembly=MISC" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" mc:Ignorable="d" d:DesignWidth="1280" Title="吹膜测厚.辅助设置" > <Page.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/> <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Base.UI;component/Converter/Dictionary_MyConv.xaml"/> </ResourceDictionary.MergedDictionaries> <sys:Boolean x:Key="False">False</sys:Boolean> <SolidColorBrush x:Key="axisLabelColor" Color="DarkSlateBlue"/> <SolidColorBrush x:Key="axisSeparatorColor" Color="DarkSlateBlue" Opacity="0.5"/> <local:PgBlowingExtVmUt x:Key="viewModel" VelocityFilter="5" Is3D="True" IsRPosMode="True"/> </ResourceDictionary> </Page.Resources> <Grid x:Name="grid_viewModel" Background="{StaticResource Brushes.Card.Background}" d:DataContext="{StaticResource viewModel}"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition /> </Grid.RowDefinitions> <Grid x:Name="grid_renZiJia" DataContext="{Binding mRenZiJia}"/> <StackPanel Orientation="Horizontal" Background="{StaticResource Brushes.TitleBar.Background}" > <Button Style="{StaticResource Styles.TitleBar.BackButton2}" Command="BrowseBack"/> <TextBlock Style="{StaticResource Styles.TitleBar.Text}" Text="吹膜测厚"/> <TextBlock Text="辅助设置" FontSize="30" VerticalAlignment="Center" Margin="{StaticResource ControlMargin}" Foreground="LightGray"/> </StackPanel> <ScrollViewer CanContentScroll="False" PanningMode="Both" Grid.Row="1" > <StackPanel Margin="{StaticResource ControlMargin}"> <Border Style="{StaticResource Styles.Card.Border}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <Grid > <StackPanel Orientation="Horizontal" Visibility="{Binding Cfl.IsCanDownload,Converter={StaticResource visbilityconv}}"> <StackPanel Margin="{StaticResource ControlMargin}" Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="当前数据量:" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding Cfl.BufTotalTime,StringFormat={}{0:hh\\:mm\\:ss}}" /> </StackPanel> <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> <Button Content="获取数据" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding DownloadCmd}" IsEnabled="{Binding Cfl.IsDownloading,Converter={StaticResource e2bconv}, ConverterParameter={StaticResource False}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding Cfl.Msg}" /> </StackPanel> </StackPanel> <TextBlock Text="数据量不够,不能下载数据" Style="{StaticResource Styles.Text.FieldContent}" Foreground="Red" VerticalAlignment="Center" Visibility="{Binding Cfl.IsCanDownload,Converter={StaticResource visbilityconv},ConverterParameter=HiddenWhenTrue}" /> </Grid> <StackPanel Grid.Column="1" Orientation="Horizontal"> <Button Content="保存" Style="{StaticResource Styles.Button.Square2}" Command="{Binding SaveCmd}"/> <Button Content="加载" Style="{StaticResource Styles.Button.Square2}" Command="{Binding LoadCmd}"/> </StackPanel> </Grid> </Border> <TabControl Margin="{StaticResource ControlMargin}" Controls:TabControlHelper.Underlined="TabPanel" Controls:TabControlHelper.UnderlinePlacement="Bottom" Background="Transparent" Controls:HeaderedControlHelper.HeaderFontSize="26" > <TabItem Header="厚度数据"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition/> </Grid.RowDefinitions> <Border Grid.ColumnSpan="2" Style="{StaticResource Styles.Card.Border}" DataContext="{Binding Anaylze}"> <Grid > <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition/> </Grid.RowDefinitions> <StackPanel> <StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}" > <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="当前范围:" /> <StackPanel Orientation="Horizontal" > <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding BufListLastNo}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="(" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding BufListCount}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text=")" VerticalAlignment="Center"/> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}" DataContext="{Binding ElementName=grid_renZiJia,Path=DataContext}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="最新范围:" /> <StackPanel Orientation="Horizontal" > <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding BufListLastNo}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="(" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding BufListCount}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text=")" VerticalAlignment="Center"/> </StackPanel> </StackPanel> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Grid.Column="1" > <Path Data="{StaticResource Geometry_refresh}" RenderTransformOrigin="0.5,0.5" Margin="20,5" Visibility="{Binding IsStep2Ing,Converter={StaticResource visbilityconv}}"> <Path.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform Angle="0"/> <TranslateTransform/> </TransformGroup> </Path.RenderTransform> <Path.Style> <Style TargetType="Path" > <Setter Property="Fill" Value="{StaticResource Brushes.Activity}" /> <Setter Property="Stretch" Value="Fill" /> <Setter Property="Height" Value="50" /> <Setter Property="Width" Value="50" /> <Setter Property="SnapsToDevicePixels" Value="True"/> <Style.Triggers> <DataTrigger Binding="{Binding IsStep2Ing}" Value="True"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard RepeatBehavior="Forever" > <DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="RenderTransform.(TransformGroup.Children)[2].Angle" From="0" To="360" Duration="00:00:03" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TransformGroup.Children)[2].Angle" From="0" To="0" Duration="0:0:0.2" /> </Storyboard> </BeginStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> </Path.Style> </Path> </StackPanel> <ItemsControl ItemsSource="{Binding ScanInfoList}" Grid.Row="1" Grid.ColumnSpan="2" MinHeight="26" > <ItemsControl.Resources> <Style TargetType="{x:Type Rectangle}" x:Key="rectangle_style"> <Setter Property="Width" Value="11" /> <Setter Property="Height" Value="24" /> <Setter Property="Margin" Value="2" /> </Style> <Style TargetType="{x:Type Rectangle}" x:Key="rectangle_style_focus"> <Setter Property="Width" Value="11" /> <Setter Property="Height" Value="5" /> </Style> </ItemsControl.Resources> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel Orientation="Horizontal" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Button Style="{StaticResource Styles.Button.Empty}" Command="{Binding ElementName=grid_viewModel,Path=DataContext.SelectCmd}" CommandParameter="{Binding .}"> <Grid> <Rectangle Style="{StaticResource rectangle_style}" Fill="{StaticResource Color_theme_activity}" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" /> <Rectangle Style="{StaticResource rectangle_style}" Fill="{StaticResource Color_theme_static}" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" /> <Rectangle Style="{StaticResource rectangle_style}" Fill="#FFF72F2F" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" /> <Rectangle Style="{StaticResource rectangle_style_focus}" Fill="#FFECECEC" VerticalAlignment="Top" Margin="0,4" Visibility="{Binding IsFocus, Converter={StaticResource visbilityconv}}"/> <Rectangle Style="{StaticResource rectangle_style_focus}" Fill="HotPink" VerticalAlignment="Bottom" Margin="0,4" Visibility="{Binding IsFocus2, Converter={StaticResource visbilityconv}}"/> </Grid> </Button> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </Grid> </Border> <Border Grid.Row="1" Style="{StaticResource Styles.Card.Border}" > <StackPanel > <TextBlock Style="{StaticResource Styles.Card.Title}" Text="横向厚度"/> <lvc:CartesianChart Height="250" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" LegendLocation="Top" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding Solve1Values}" Title="记录1"/> <lvc:LineSeries Values="{Binding Solve2Values}" Title="记录2"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis Foreground="DarkSlateBlue" LabelFormatter="{Binding BoltNoFormatter}"/> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="{Binding Anaylze.SearchMsg}" /> <Grid Grid.Row="3"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <StackPanel DataContext="{Binding Anaylze.MarkNos[0]}" > <StackPanel Orientation="Horizontal" > <Button Style="{StaticResource Styles.Button.Empty}" Command="{Binding DataContext.FocusCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <StackPanel Margin="{StaticResource ControlMargin}"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Name}" > <TextBlock.Style> <Style BasedOn="{StaticResource Styles.Text.FieldHeader.Editable}" TargetType="TextBlock"> <Style.Triggers> <DataTrigger Binding="{Binding IsFocus}" Value="True"> <Setter Property="Foreground" Value="Red"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" MinWidth="100" Text="{Binding Number}" /> </StackPanel> </StackPanel> </Button> <Button Style="{StaticResource Styles.Button.Icon.Large}" Command="{Binding DataContext.PreCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <Grid> <Ellipse Fill="White" Margin="2"/> <iconPacks:PackIconMaterial Kind="ArrowLeftBoldCircle" /> </Grid> </Button> <Button Style="{StaticResource Styles.Button.Icon.Large}" Command="{Binding DataContext.NextCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <Grid> <Ellipse Fill="White" Margin="2"/> <iconPacks:PackIconMaterial Kind="ArrowRightBoldCircle" /> </Grid> </Button> </StackPanel> <StackPanel Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}"> <WrapPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="旋转方向" /> <TextBlock> <TextBlock.Style> <Style BasedOn="{StaticResource Styles.Text.FieldContent.Unit}" TargetType="TextBlock"> <Setter Property="Text" Value="逆时针(正)"/> <Style.Triggers> <DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}"> <Setter Property="Text" Value="顺时针(反)"/> </DataTrigger> <DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.FIX}"> <Setter Property="Text" Value="转向"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="测量时间" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" /> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="自相关性" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding R, StringFormat={}{0:F5}}" /> </StackPanel> </StackPanel> </WrapPanel> <StackPanel Orientation="Horizontal" > <Button Style="{StaticResource Styles.Button.Square2}" Content="计算距离" Command="{Binding DataContext.CalFl2Cmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"/> <Button Style="{StaticResource Styles.Button.Square2}" Content="计算角度" Command="{Binding DataContext.CalRa2Cmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"/> </StackPanel> </StackPanel> </StackPanel> <StackPanel Grid.Column="1" DataContext="{Binding Anaylze.MarkNos[1]}" > <StackPanel Orientation="Horizontal" > <Button Style="{StaticResource Styles.Button.Empty}" Command="{Binding DataContext.FocusCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <StackPanel Margin="{StaticResource ControlMargin}"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Name}" > <TextBlock.Style> <Style BasedOn="{StaticResource Styles.Text.FieldHeader.Editable}" TargetType="TextBlock"> <Style.Triggers> <DataTrigger Binding="{Binding IsFocus}" Value="True"> <Setter Property="Foreground" Value="Red"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" MinWidth="100" Text="{Binding Number}" /> </StackPanel> </StackPanel> </Button> <Button Style="{StaticResource Styles.Button.Icon.Large}" Command="{Binding DataContext.PreCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <Grid> <Ellipse Fill="White" Margin="2"/> <iconPacks:PackIconMaterial Kind="ArrowLeftBoldCircle" /> </Grid> </Button> <Button Style="{StaticResource Styles.Button.Icon.Large}" Command="{Binding DataContext.NextCmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"> <Grid> <Ellipse Fill="White" Margin="2"/> <iconPacks:PackIconMaterial Kind="ArrowRightBoldCircle" /> </Grid> </Button> </StackPanel> <StackPanel Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}"> <WrapPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="旋转方向" /> <TextBlock> <TextBlock.Style> <Style BasedOn="{StaticResource Styles.Text.FieldContent.Unit}" TargetType="TextBlock"> <Setter Property="Text" Value="逆时针(正)"/> <Style.Triggers> <DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}"> <Setter Property="Text" Value="顺时针(反)"/> </DataTrigger> <DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.FIX}"> <Setter Property="Text" Value="转向"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="测量时间" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" /> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="自相关性" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="{Binding R, StringFormat={}{0:F5}}" /> </StackPanel> </StackPanel> </WrapPanel> <StackPanel Orientation="Horizontal" > <Button Style="{StaticResource Styles.Button.Square2}" Content="计算距离" Command="{Binding DataContext.CalFl2Cmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"/> <Button Style="{StaticResource Styles.Button.Square2}" Content="计算角度" Command="{Binding DataContext.CalRa2Cmd,ElementName=grid_viewModel}" CommandParameter="{Binding .}"/> </StackPanel> </StackPanel> </StackPanel> </Grid> </StackPanel> </Border> <Border Grid.Row="1" Grid.Column="1" Style="{StaticResource Styles.Card.Border}" DataContext="{Binding Anaylze}"> <StackPanel > <TextBlock Style="{StaticResource Styles.Card.Title}" Text="调整"/> <StackPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="相关性" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding CurrR, StringFormat={}{0:F5}}" /> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="解方程数" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding SolveCnt}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="次"/> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="平滑" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding Smooth}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="分区"/> </StackPanel> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="膜距离" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding FilmLength, StringFormat=\{0:F1\}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" FontSize="15" /> </StackPanel> </StackPanel> <Button Style="{StaticResource Styles.Button.Square2}" Content="计算距离" Command="{Binding DataContext.CalFlCmd,ElementName=grid_viewModel}" /> </StackPanel> <StackPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="旋转角度" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding RAngle,StringFormat={}{0:F1}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="°" VerticalAlignment="Top" /> </StackPanel> </StackPanel> <Button Style="{StaticResource Styles.Button.Square2}" Content="计算角度" Command="{Binding DataContext.CalRaCmd,ElementName=grid_viewModel}" /> </StackPanel> <StackPanel DataContext="{Binding ElementName=grid_viewModel,Path=DataContext}" > <StackPanel Orientation="Horizontal" > <Grid> <Button Style="{StaticResource Styles.Button.Square2}" Command="{Binding SolveCmd}" > <StackPanel Orientation="Horizontal"> <TextBlock Text="更新参数" /> <Grid HorizontalAlignment="Right" VerticalAlignment="Top" Margin="2" DataContext="{Binding PTimer}" Visibility="{Binding IsRunning,Converter={StaticResource visbilityconv}}"> <ed:Arc Width="20" Height="20" Opacity="0.9" ArcThickness="2" ArcThicknessUnit="Pixel" StartAngle="0" EndAngle="360" Fill="White" Stretch="None" Stroke="{StaticResource Brushes.Static}" VerticalAlignment="Top" /> <ed:Arc Width="20" Height="20" ArcThickness="2" ArcThicknessUnit="Pixel" StartAngle="0" EndAngle="{Binding Progress}" Fill="{StaticResource Brushes.Activity}" Stretch="None" Stroke="{StaticResource Brushes.Static}" > </ed:Arc> </Grid> </StackPanel> </Button> </Grid> <Button Style="{StaticResource Styles.Button.Square.Accent2}" Content="全自动计算" Command="{Binding CalAutoCmd}" /> </StackPanel> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <lvc:CartesianChart DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" Height="120" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding ParamRsValues}" Configuration="{Binding MapperPr}"/> </lvc:CartesianChart.Series> </lvc:CartesianChart> <Button Grid.Column="1" Style="{StaticResource Styles.Button.Apply}" Command="{Binding ApplyCmd}"/> </Grid> </StackPanel> </StackPanel> </Border> </Grid> </TabItem> <TabItem Header="其它数据" > <StackPanel > <Border Style="{StaticResource Styles.Card.Border}" > <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="厚度趋势"/> <lvc:CartesianChart Height="150" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding ThicknessValues}" Configuration="{Binding MapperTv}" /> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis x:Name="thickChart_xAxis" LabelFormatter="{Binding DateTimeFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> <Border Style="{StaticResource Styles.Card.Border}" Visibility="{Binding IsRPosMode,Converter={StaticResource visbilityconv}, ConverterParameter=Collapsed}"> <StackPanel > <TextBlock Style="{StaticResource Styles.Card.Title}" Text="旋转角度"/> <lvc:CartesianChart Height="150" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding AngleValues}" PointGeometry="{x:Null}" Configuration="{Binding MapperTv}" /> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis x:Name="angleChart_xAxis" LabelFormatter="{Binding DateTimeFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> <Border Style="{StaticResource Styles.Card.Border}" > <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="线速度趋势"/> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <StackPanel Orientation="Horizontal"> <StackPanel Margin="5,0"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" VerticalAlignment="Bottom" Text="滤波" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding VelocityFilter}" VerticalAlignment="Bottom" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="s" /> </StackPanel> </StackPanel> <Button Content="更新" Style="{StaticResource Styles.Button.Square2}" Command="{Binding UpdateVCmd}" IsEnabled="{Binding Cfl.IsDataReady}" /> </StackPanel> <StackPanel Grid.Column="1"> <StackPanel Orientation="Horizontal" > <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="最大值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding VMax,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" /> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="最小值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding VMin,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" /> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="平均值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding VAvg,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" /> </StackPanel> </StackPanel> </StackPanel> </StackPanel> </Grid> <lvc:CartesianChart Height="150" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding VelocityValues}" PointGeometry="{x:Null}" Configuration="{Binding MapperTv}" /> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis x:Name="filmVelocityChart_xAxis" LabelFormatter="{Binding DateTimeFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> <Border Style="{StaticResource Styles.Card.Border}" Visibility="{Binding Is3D,Converter={StaticResource visbilityconv}, ConverterParameter=Collapsed}" > <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="立体式膜距离增量趋势"/> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <StackPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="牵引1速度" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding Velocity1,StringFormat={}{0:F1}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" /> </StackPanel> </StackPanel> <Button Content="更新" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding UpdateFilmLength3DCmd}" IsEnabled="{Binding Cfl.IsDataReady}" /> </StackPanel> <StackPanel Grid.Column="1" > <StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="最大值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding FMax,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" /> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="最小值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding FMin,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" /> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="平均值:" /> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding FAvg,StringFormat={}{0:F1}}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" /> </StackPanel> </StackPanel> </StackPanel> </StackPanel> </Grid> <lvc:CartesianChart Height="150" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding FilmLength3DValues}" PointGeometry="{x:Null}" Configuration="{Binding MapperTv}" /> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis x:Name="filmLength3DChart_xAxis" LabelFormatter="{Binding DateTimeFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> <Border Style="{StaticResource Styles.Card.Border}" Visibility="{Binding Is3D,Converter={StaticResource visbilityconv}, ConverterParameter=Collapsed}"> <StackPanel > <TextBlock Style="{StaticResource Styles.Card.Title}" Text="参数膜距离增量"/> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <StackPanel Orientation="Horizontal"> <Button Content="应用新数据" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding ApplyFilmLength3DCmd}"/> </StackPanel> <Button Grid.Column="1" Content="删除当前" Style="{StaticResource Styles.Button.Square2}" Command="{Binding ClearFilmLength3DCmd}"/> </Grid> <lvc:CartesianChart Height="150" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" LegendLocation="Right" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding CurrFilmLength3D}" PointGeometry="{x:Null}" Title="当前数据"/> <lvc:LineSeries Values="{Binding NewFilmLength3D}" PointGeometry="{x:Null}" Title="新数据"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="DarkSlateBlue" /> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> </StackPanel> </TabItem> </TabControl> </StackPanel> </ScrollViewer> </Grid> </Page>