FixGraph.xaml 11.2 KB
Newer Older
1 2 3 4 5 6
<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"
7
             xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
8 9 10 11 12 13
             mc:Ignorable="d" 
             
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
14
                <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Converters.xaml"/>
15
                <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Base.UI;component/Themes/GraphStyle.xaml"/>
16
            </ResourceDictionary.MergedDictionaries>
17
            <local:FixGraphVmUt x:Key="viewModel" Max="65540" Min="655" Average="123" Sigma2="3.2"/>
18 19
        </ResourceDictionary>
    </UserControl.Resources>
20
    <Border Style="{StaticResource Styles.Module.Border}" >
21 22 23 24 25 26
        <Grid d:DataContext="{StaticResource viewModel}">
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
27 28
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="400*"/>
29
                <ColumnDefinition Width="280*"/>
30
            </Grid.ColumnDefinitions>
31 32
            <lvc:CartesianChart Grid.Row="1" Grid.ColumnSpan="4" 
                                Margin="5,-5,2,2"
33 34 35 36 37
                                Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" >
                <lvc:CartesianChart.Series>
                    <lvc:LineSeries 
                        Values="{Binding Values}"
                        StrokeThickness = "3"
38
                        Stroke = "{StaticResource Brushes.Activity}"
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
                        
                        Fill = "Transparent"
                        PointGeometry ="{x:Null}"/>
                </lvc:CartesianChart.Series>
                <lvc:CartesianChart.AxisX>
                    <lvc:Axis LabelFormatter="{Binding XFormatter}" FontSize="16" Foreground="Black"
                          MaxValue="{Binding XMax}" MinValue="{Binding XMin}">
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="LightGray"/>
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisX>
                <lvc:CartesianChart.AxisY>
                    <lvc:Axis LabelFormatter="{Binding YFormatter}" MaxValue="{Binding YMax}" MinValue="{Binding YMin}" Panel.ZIndex="0" Foreground="Black">
                        <lvc:Axis.Separator>
                            <lvc:Separator StrokeThickness="1" Stroke="LightGray" />
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisY >
            </lvc:CartesianChart>
59 60 61 62 63 64 65

            <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}" 
                                    >
66
                        <Run Text="{Binding InfoName}"/><Run Text="{StaticResource str.Graph.FixGraph}"/>
67 68 69
                    </TextBlock>
                </Grid>
            </Button>
70 71 72 73 74
            <Grid Grid.Column="1" Grid.RowSpan="2" Panel.ZIndex="2" >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>
75 76 77 78 79 80 81 82 83 84
                <StackPanel VerticalAlignment="Top" HorizontalAlignment="Left" >
                    <Viewbox MaxHeight="{StaticResource GraphInfo2RowMaxHeight}" Margin="{StaticResource ControlMargin}">
                        <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>
85
                            </StackPanel>
86 87 88 89 90 91 92 93 94 95 96 97
                            <StackPanel Orientation="Horizontal">
                                <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                        Background="{StaticResource TextTransparentBackgroundBrush}">
                                    <TextBlock Style="{StaticResource TitleStyle}" Text="{StaticResource str.Graph.Interval}" />
                                    <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="{StaticResource str.Graph.Mix}" />
                                    <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Mix}"/>
                                </StackPanel>
98 99
                            </StackPanel>
                        </StackPanel>
100 101
                    </Viewbox>
                </StackPanel>
102

103
                <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Grid.Column="2" Grid.RowSpan="2">
104 105 106
                    <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" 
                            IsEnabled="{Binding IsPaused,Converter={StaticResource brconv}}" 
                            Click="button_pause_Click"  >
107 108 109 110
                        <iconPacks:PackIconMaterial >
                            <iconPacks:PackIconMaterial.Style>
                                <Style TargetType="iconPacks:PackIconMaterial" BasedOn="{StaticResource Styles.Icon.Rectangle}">
                                    <Setter Property="Kind" Value="Stop"/>
111 112
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding IsPaused}" Value="True">
113
                                            <Setter Property="Kind" Value="Play"/>
114 115 116
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
117 118 119
                            </iconPacks:PackIconMaterial.Style>
                        </iconPacks:PackIconMaterial>
                    </Button>
120 121 122
                    <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" 
                            IsEnabled="{Binding IsPaused}" 
                            Click="button_save_Click" >
123 124
                        <iconPacks:PackIconMaterial Kind="Floppy" />
                    </Button>
125 126 127 128
                    <Button Style="{StaticResource Styles.Button.Icon.Rectangle}" 
                            IsEnabled="{Binding IsPaused}" 
                            Click="button_analyze_Click" 
                            >
129 130 131 132
                        <iconPacks:PackIconMaterial Kind="ChartLine" />
                    </Button>
                </StackPanel>
            </Grid>
133

134
            <Grid Grid.Column="2" Grid.RowSpan="2" Panel.ZIndex="1" 
135
                  Margin="10,0" VerticalAlignment="Top" HorizontalAlignment="Right"
136
                  Background="{StaticResource SemiTransparentGreyBrush}" >
137 138 139 140 141
                <Viewbox MaxHeight="{StaticResource GraphInfo2RowMaxHeight}" Margin="{StaticResource ControlMargin}">
                    <UniformGrid Columns="2">
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" 
                                    Background="{StaticResource TextBrush}">
                                <TextBlock Style="{StaticResource TitleStyle}" 
142
                                           Foreground="{StaticResource WhiteBrush}"
143
                                           Text="{StaticResource str.Graph.Avg}"
144
                                           />
145
                                <TextBlock Style="{StaticResource ValueStyle}" 
146
                                           Foreground="{StaticResource WhiteBrush}"
147 148
                                           Text="{Binding Average,StringFormat={}{0:F1}}" 
                                           />
149 150 151 152
                            </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" 
                                    Background="{StaticResource TextBrush}">
                            <TextBlock Style="{StaticResource TitleStyle}" 
153
                                           Foreground="{StaticResource WhiteBrush}"
154
                                           Text="2σ" 
155
                                           />
156
                            <TextBlock Style="{StaticResource ValueStyle}" 
157
                                           Foreground="{StaticResource WhiteBrush}"
158
                                           Text="{Binding Sigma2,StringFormat={}{0:F1}}"  
159
                                           />
160
                        </StackPanel>
161 162
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" >
                                <TextBlock Style="{StaticResource TitleStyle}" 
163
                                               Text="{StaticResource str.Graph.Max}" />
164
                                <TextBlock Style="{StaticResource ValueStyle}" 
165
                                               Text="{Binding Max,StringFormat={}{0:F1}}"/>
166 167 168
                            </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}" >
                            <TextBlock Style="{StaticResource TitleStyle}" 
169
                                               Text="{StaticResource str.Graph.Min}" />
170
                            <TextBlock Style="{StaticResource ValueStyle}"  
171 172
                                               Text="{Binding Min,StringFormat={}{0:F1}}"/>
                        </StackPanel>
173
                    </UniformGrid>
174
                </Viewbox>
175 176 177 178 179
            </Grid>
        </Grid>
    </Border>

</UserControl>