<Page x:Class="FLY.Thick.Blowing.UI.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:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:local="clr-namespace:FLY.Thick.Blowing.UI" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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> <local:PgBlowingExtVmUt x:Key="viewModel" VelocityFilter="5" /> <sys:Boolean x:Key="False">False</sys:Boolean> <SolidColorBrush x:Key="axisLabelColor" Color="DarkSlateBlue"/> <SolidColorBrush x:Key="axisSeparatorColor" Color="DarkSlateBlue" Opacity="0.5"/> </ResourceDictionary> </Page.Resources> <Grid Background="{StaticResource Brushes.Card.Background}" d:DataContext="{StaticResource viewModel}"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition /> </Grid.RowDefinitions> <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> <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="参数膜距离增量"/> <StackPanel Orientation="Horizontal"> <Button Content="应用新数据" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding ApplyFilmLength3DCmd}" IsEnabled="{Binding Cfl.IsDataReady}"/> </StackPanel> <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> <Border Style="{StaticResource Styles.Card.Border}" > <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="膜泡厚度横截面"/> <StackPanel Orientation="Horizontal"> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="膜距离" /> <StackPanel Orientation="Horizontal"> <TextBox HorizontalAlignment="Left" MaxWidth="150" Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding FilmLength,StringFormat={}{0:F1}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" /> </StackPanel> </StackPanel> <Button Content="更新" Style="{StaticResource Styles.Button.Square2}" Command="{Binding UpdateFramesCmd}" IsEnabled="{Binding Cfl.IsDataReady}" /> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="查找范围" /> <StackPanel Orientation="Horizontal"> <TextBox HorizontalAlignment="Left" MaxWidth="150" Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding FLRange}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m" /> </StackPanel> </StackPanel> <Button Content="自动计算" Style="{StaticResource Styles.Button.Square.Accent2}" Background="{StaticResource MahApps.Brushes.Highlight}" Command="{Binding CalCmd}" IsEnabled="{Binding Cfl.IsCaling,Converter={StaticResource e2bconv},ConverterParameter={StaticResource False}}" /> <Button Content="应用" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding ApplyFilmLengthCmd}"/> <StackPanel > <TextBlock Text="{Binding Cfl.Msg}" Style="{StaticResource Styles.Text.FieldContent.Unit}"/> </StackPanel> </StackPanel> <lvc:CartesianChart Height="200" DisableAnimations="True" Margin="{StaticResource ControlMargin}" Hoverable="False" DataTooltip="{x:Null}" Series="{Binding FrameSeries}" LegendLocation="Right" > <lvc:CartesianChart.AxisX> <lvc:Axis Foreground="{StaticResource axisLabelColor}" LabelFormatter="{Binding BoltNoFormatter}" > <lvc:Axis.Separator> <lvc:Separator Step="5" Stroke="{StaticResource axisSeparatorColor}"/> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="{StaticResource axisLabelColor}" > <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource axisSeparatorColor}"/> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> </StackPanel> </StackPanel> </ScrollViewer> </Grid> </Page>