<UserControl x:Class="FLY.Thick.Base.UI.UiModule.FixGraph" 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.UiModule" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Converters.xaml"/> <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Base.UI;component/Themes/GraphStyle.xaml"/> </ResourceDictionary.MergedDictionaries> <local:FixGraphVmUt x:Key="viewModel" Max="65540" Min="655" Average="123" Sigma3="3.2"/> </ResourceDictionary> </UserControl.Resources> <Border Style="{StaticResource Styles.Module.Border}" > <Grid d:DataContext="{StaticResource viewModel}"> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition Width="400*"/> <ColumnDefinition Width="280*"/> </Grid.ColumnDefinitions> <lvc:CartesianChart Grid.Row="1" Grid.ColumnSpan="4" Margin="5,-5,2,2" Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" > <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding Values}" StrokeThickness = "3" Stroke = "{StaticResource Brushes.Accent}" Fill = "Transparent" PointGeometry ="{x:Null}"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis LabelFormatter="{Binding XFormatter}" Foreground="{StaticResource Brushes.Text.Black}" MaxValue="{Binding XMax}" MinValue="{Binding XMin}"> <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.Text.Gray}" StrokeDashArray="3" /> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="{StaticResource Brushes.Text.Black}" MaxValue="{Binding YMax}" MinValue="{Binding YMin}" > <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.Text.Gray}" StrokeDashArray="3" /> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisY > </lvc:CartesianChart> <Button Style="{StaticResource Styles.Button.Icon}" Margin="48,0,0,-20" Click="Button_info_click" > <Grid Style="{StaticResource Styles.Shadow}" > <TextBlock Padding="10,5" VerticalAlignment="Top" FontSize="24" Foreground="{StaticResource Brushes.ThemeBackground}" Background="{StaticResource Brushes.Activity}" > <Run Text="{Binding InfoName}"/>定点图 </TextBlock> </Grid> </Button> <Grid Grid.Column="1" Grid.RowSpan="2" Panel.ZIndex="2" VerticalAlignment="Top" > <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <Viewbox MaxHeight="{StaticResource GraphInfo2RowMaxHeight}" Margin="{StaticResource ControlMargin}" HorizontalAlignment="Left" > <StackPanel> <StackPanel Orientation="Horizontal" > <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"> <TextBlock Style="{StaticResource TitleStyle}" Text="AD" Foreground="{StaticResource Brushes.Highlight}" Visibility="{Binding IsADMode,Converter={StaticResource visbilityconv}}"/> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Time,StringFormat={}{0:HH:mm:ss}}"/> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" Background="{StaticResource TextTransparentBackgroundBrush}"> <TextBlock Style="{StaticResource TitleStyle}" Text="间隔" /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Intervalms}"/> <TextBlock Style="{StaticResource UnitStyle}" Text="ms" /> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" Background="{StaticResource TextTransparentBackgroundBrush}"> <TextBlock Style="{StaticResource TitleStyle}" Text="混合" /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Mix}"/> </StackPanel> </StackPanel> </StackPanel> </Viewbox> <StackPanel Orientation="Horizontal" Grid.Column="1" > <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" Command="{Binding ClearCmd}"> <iconPacks:PackIconMaterial Kind="Delete"/> </Button> <Button Command="{Binding PauseCmd}"> <Button.Style> <Style TargetType="Button" BasedOn="{StaticResource Styles.Button.Icon.Rectangle}"> <Setter Property="Background" Value="{StaticResource Brushes.Fault}"/> <Style.Triggers> <DataTrigger Binding="{Binding IsPaused}" Value="True"> <Setter Property="Background" Value="{StaticResource Brushes.Pass}"/> </DataTrigger> </Style.Triggers> </Style> </Button.Style> <iconPacks:PackIconMaterial > <iconPacks:PackIconMaterial.Style> <Style TargetType="iconPacks:PackIconMaterial" BasedOn="{StaticResource Styles.Icon.Rectangle}"> <Setter Property="Kind" Value="Stop"/> <Style.Triggers> <DataTrigger Binding="{Binding IsPaused}" Value="True"> <Setter Property="Kind" Value="Play"/> </DataTrigger> </Style.Triggers> </Style> </iconPacks:PackIconMaterial.Style> </iconPacks:PackIconMaterial> </Button> <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" IsEnabled="{Binding IsPaused}" Command="{Binding SaveCmd}"> <iconPacks:PackIconMaterial Kind="Floppy"/> </Button> <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" IsEnabled="{Binding IsPaused}" Command="{Binding AnalyzeCmd}"> <iconPacks:PackIconMaterial Kind="ChartLine"/> </Button> </StackPanel> </Grid> <Grid Grid.Column="2" Grid.RowSpan="2" Panel.ZIndex="1" Margin="10,0" VerticalAlignment="Top" HorizontalAlignment="Right" Background="{StaticResource SemiTransparentGreyBrush}" > <Viewbox MaxHeight="{StaticResource GraphInfo2RowMaxHeight}" Margin="{StaticResource ControlMargin}"> <UniformGrid Columns="2"> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" Background="{StaticResource TextBrush}"> <TextBlock Style="{StaticResource TitleStyle}" Foreground="{StaticResource WhiteBrush}" Text="平均" /> <TextBlock Style="{StaticResource ValueStyle}" Foreground="{StaticResource WhiteBrush}" Text="{Binding Average,StringFormat={}{0:F1}}" /> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" Background="{StaticResource TextBrush}"> <TextBlock Style="{StaticResource TitleStyle}" Foreground="{StaticResource WhiteBrush}" Text="2σ" /> <TextBlock Style="{StaticResource ValueStyle}" Foreground="{StaticResource WhiteBrush}" Text="{Binding Sigma2,StringFormat={}{0:F2}}" /> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" > <TextBlock Style="{StaticResource TitleStyle}" Text="最大" /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Max,StringFormat={}{0:F1}}"/> </StackPanel> <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" > <TextBlock Style="{StaticResource TitleStyle}" Text="最小" /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Min,StringFormat={}{0:F1}}"/> </StackPanel> </UniformGrid> </Viewbox> </Grid> </Grid> </Border> </UserControl>