<UserControl x:Class="FLY.Thick.Blowing.UI.UiModule.TrendGraph" 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.Blowing.UI.UiModule" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:lvc1="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Feng.Wpf" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="800" > <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Dictionary_MyConv.xaml"/> <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Blowing.UI;component/Themes/Styles.xaml"/> <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Blowing.UI;component/Themes/Colors.xaml"/> </ResourceDictionary.MergedDictionaries> <local:TrendGraphVmUt x:Key="viewmodel"/> </ResourceDictionary> </UserControl.Resources> <Border Style="{StaticResource BorderStyle_module}" > <Grid d:DataContext="{StaticResource viewmodel}"> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="100*"/> <RowDefinition Height="70*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition Width="400*"/> <ColumnDefinition Width="350*"/> </Grid.ColumnDefinitions> <lvc:CartesianChart Grid.Row="1" Grid.ColumnSpan="3" Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" Margin="5,-5,2,2"> <lvc:CartesianChart.Resources> <Style TargetType="lvc1:Column2Series"> <Setter Property="PointGeometry" Value="{x:Null}"/> <Setter Property="StrokeThickness" Value="0" /> </Style> </lvc:CartesianChart.Resources> <lvc:CartesianChart.Series> <lvc1:Column2Series Values="{Binding Values}" Configuration="{Binding MapperPositive}"/> <lvc1:Column2Series Values="{Binding Values}" Configuration="{Binding MapperNegative}"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis Foreground="Black" LabelFormatter="{Binding XFormatter}" MinValue="0" MaxValue="{Binding XMax}" > <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" Step ="10"/> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter}" Foreground="Transparent" MinValue="{Binding YMin}" MaxValue="{Binding YMax}" FontFamily="Courier New" > <lvc:Axis.Sections> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding YMax}" Stroke="{StaticResource Brushes.ChartAxisLabel3}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding YMin}" Stroke="{StaticResource Brushes.ChartAxisLabel3}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding Tolerance2YMax}" Stroke="{StaticResource Brushes.ChartAxisLabel2}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding Tolerance2YMin}" Stroke="{StaticResource Brushes.ChartAxisLabel2}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding ToleranceYMax}" Stroke="{StaticResource Brushes.ChartAxisLabel1}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="{Binding ToleranceYMin}" Stroke="{StaticResource Brushes.ChartAxisLabel1}"/> <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Value="0" Stroke="{StaticResource Brushes.ChartAxisLabel0}" /> </lvc:Axis.Sections> <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" /> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> <lvc:CartesianChart Grid.Row="2" Grid.ColumnSpan="3" Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" Margin="5,-5,2,2"> <lvc:CartesianChart.Resources> <Style TargetType="lvc:LineSeries"> <Setter Property="PointGeometry" Value="{x:Null}"/> <Setter Property="StrokeThickness" Value="3" /> <Setter Property="Fill" Value="{StaticResource Brushes.ChartArea4}"/> <Setter Property="Stroke" Value="{StaticResource Brushes.ChartArea0}"/> </Style> </lvc:CartesianChart.Resources> <lvc:CartesianChart.Series> <lvc:LineSeries Values="{Binding Values}" Configuration="{Binding MapperValue}"/> </lvc:CartesianChart.Series> <lvc:CartesianChart.AxisX> <lvc:Axis Foreground="{StaticResource Brushes.ChartAxisLabel}" LabelFormatter="{Binding XFormatter}" MinValue="0" MaxValue="{Binding XMax}" > <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" Step ="10"/> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisX> <lvc:CartesianChart.AxisY> <lvc:Axis LabelFormatter="{Binding YFormatter2}" Foreground="{StaticResource Brushes.ChartAxisLabel}" MinRange="1" FontFamily="Courier New" > <lvc:Axis.Separator> <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" /> </lvc:Axis.Separator> </lvc:Axis> </lvc:CartesianChart.AxisY> </lvc:CartesianChart> <Button Style="{StaticResource ButtonStyle_icon}" Margin="48,0,0,-20" Click="Button_info_click" > <Grid Style="{StaticResource GridStyle_ButtonShadow}" > <TextBlock Padding="10,5" VerticalAlignment="Top" FontSize="24" Foreground="White" Background="{StaticResource Brushes.Activity}" Text="趋势图" /> </Grid> </Button> <StackPanel Grid.Column="1" Grid.RowSpan="2" Panel.ZIndex="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="{StaticResource ControlMargin}"> <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2"> <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" > <TextBlock Style="{StaticResource ValueStyle}" > <Run Text="{Binding BeginTime,Mode=OneWay,StringFormat={}{0:MM-dd HH:mm}}"/> 至 <Run Text="{Binding EndTime,Mode=OneWay,StringFormat={}{0:MM-dd HH:mm}}"/> </TextBlock> </StackPanel> </Viewbox> <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2"> <StackPanel Orientation="Horizontal" Margin="{StaticResource Margin.Text}" Background="{StaticResource SemiTransparentGreyBrush2}"> <TextBlock Style="{StaticResource TitleStyle}" Text="ID:" /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Id}"/> </StackPanel> </Viewbox> </StackPanel> <Grid Grid.Column="2" Grid.RowSpan="2" Panel.ZIndex="1" Margin="10,0" VerticalAlignment="Top" HorizontalAlignment="Right" Background="{StaticResource SemiTransparentGreyBrush}" > <Viewbox MaxHeight="50"> <StackPanel Margin="5"> <StackPanel.Resources> <Style TargetType="Viewbox"> <Setter Property="Height" Value="25"/> <Setter Property="Width" Value="120"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="VerticalAlignment" Value="Top"/> </Style> </StackPanel.Resources> <StackPanel Orientation="Horizontal"> <Viewbox > <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource TitleStyle}" Foreground="{StaticResource WhiteBrush}" Background="{StaticResource TextBrush}" Opacity="0.8" Text="平均: " /> <TextBlock Style="{StaticResource ValueStyle}" Foreground="{StaticResource WhiteBrush}" Background="{StaticResource TextBrush}" Text="{Binding Average,Mode=OneWay,StringFormat={}{0:P1}}" > </TextBlock> </StackPanel> </Viewbox> </StackPanel> <StackPanel Orientation="Horizontal"> <Viewbox > <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource TitleStyle}" Text="最大: "/> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Max,Mode=OneWay,StringFormat={}{0:P1}}"/> </StackPanel> </Viewbox> <Viewbox > <StackPanel Orientation="Horizontal" > <TextBlock Style="{StaticResource TitleStyle}" Text="最小: " /> <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Min,Mode=OneWay,StringFormat={}{0:P1}}"/> </StackPanel> </Viewbox> </StackPanel> </StackPanel> </Viewbox> </Grid> </Grid> </Border> </UserControl>