<Page x:Class="FLY.Thick.Base.UI.PgReject" 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.Base.UI" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:conv="clr-namespace:FLY.Thick.Base.UI.Converter" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="1024" Background="WhiteSmoke" d:DataContext="{d:DesignInstance local:PgRejectVm}" Title="Page_Reject"> <Page.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Converters.xaml"/> </ResourceDictionary.MergedDictionaries> <conv:Pos2mmConverter x:Key="p2mmconv" /> <Style x:Key="AxisSectionStyle" TargetType="lvc:AxisSection" > <Setter Property="StrokeThickness" Value="1"/> <Setter Property="DataLabel" Value="True"/> <Setter Property="DisableAnimations" Value="True"/> <Setter Property="DataLabelForeground" Value="White"/> <Setter Property="Opacity" Value="0.5"/> <Setter Property="Panel.ZIndex" Value="1"/> </Style> </ResourceDictionary> </Page.Resources> <Grid Background="{StaticResource Brushes.Card.Background}"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition /> </Grid.RowDefinitions> <Grid Background="{StaticResource Brushes.TitleBar.Background}" > <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <StackPanel Orientation="Horizontal" > <Button Style="{StaticResource Styles.TitleBar.BackButton2}" Command="BrowseBack" > <iconPacks:PackIconMaterial Kind="ArrowLeftThick" /> </Button> <TextBlock Style="{StaticResource Styles.TitleBar.Text}" Text="{StaticResource str.PgReject.Title}"/> </StackPanel> <local:CtMicroGage Grid.Column="1" x:Name="mircoGage" Background="Transparent" VerticalAlignment="Bottom"/> </Grid> <ScrollViewer CanContentScroll="False" PanningMode="Both" Grid.Row="1" > <StackPanel Margin="{StaticResource ControlMargin}"> <Border Style="{StaticResource Styles.Card.Border}"> <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="参数"/> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <WrapPanel Orientation="Horizontal" > <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="{StaticResource str.PgReject.Enable}" /> <ToggleButton Style="{StaticResource Styles.ToggleButton.YESNO}" IsChecked="{Binding Enable}" /> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="{StaticResource str.PgReject.ThresholdRatio}" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding ThresholdRatio,Converter={StaticResource percentconv}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="%"/> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="{StaticResource str.PgReject.LimitRangeRatio}" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding LimitRangeRatio, Converter={StaticResource percentconv}}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="%"/> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="{StaticResource str.PgReject.SmoothRange}" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding SmoothRange}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Separator}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" > <Run> <MultiBinding Converter="{StaticResource p2mmconv}" Mode="OneWay" StringFormat="{}{0:F0}"> <Binding Path="SmoothRange" /> <Binding Path="Mmpp"/> </MultiBinding> </Run> <Run Text="mm"/> </TextBlock> </StackPanel> </StackPanel> <StackPanel Margin="{StaticResource ControlMargin}"> <TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="{StaticResource str.PgReject.RejectRange}" /> <StackPanel Orientation="Horizontal"> <TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding RejectRange}" /> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Separator}"/> <TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" > <Run> <MultiBinding Converter="{StaticResource p2mmconv}" Mode="OneWay" StringFormat="{}{0:F0}"> <Binding Path="RejectRange" /> <Binding Path="Mmpp"/> </MultiBinding> </Run> <Run Text="mm"/> </TextBlock> </StackPanel> </StackPanel> </WrapPanel> <StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Bottom"> <Button Content="{StaticResource str.PgReject.Apply}" Style="{StaticResource Styles.Button.Square.Accent2}" Command="{Binding ApplyCmd}" /> </StackPanel> </Grid> </StackPanel> </Border> <Border Style="{StaticResource Styles.Card.Border}"> <StackPanel> <TextBlock Style="{StaticResource Styles.Card.Title}" Text="调试"/> <StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Bottom"> <Button Content="{StaticResource str.PgReject.SaveDebug}" Style="{StaticResource Styles.Button.Square2}" Command="{Binding SaveCmd}" /> </StackPanel> <lvc:CartesianChart Margin="{StaticResource ControlMargin}" Height="350" DisableAnimations="True" Hoverable="False" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding FilterDatas}" Configuration="{Binding Mapper}" PointGeometry="{x:Null}" /> <lvc:LineSeries Values="{Binding RejectDatas}" Configuration="{Binding Mapper}" PointGeometry="{x:Null}" Fill="Transparent"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis FontSize="16" LabelFormatter="{Binding XFormatter}" MinValue="{Binding XMin}" MaxValue="{Binding XMax}"> <lvc:Axis.Separator> <lvc:Separator Stroke="LightGray"/> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis FontSize="16" LabelFormatter="{Binding YFormatter}" > <lvc:Axis.Separator> <lvc:Separator Stroke="LightGray"/> </lvc:Axis.Separator> <lvc:Axis.Sections> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Stroke="Red" Value="{Binding Threshold}" /> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Stroke="Orange" Value="{Binding UpperLimit}" /> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Stroke="Orange" Value="{Binding LowerLimit}" /> </lvc:Axis.Sections> </lvc:Axis> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> </StackPanel> </Border> </StackPanel> </ScrollViewer> </Grid> </Page>