| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:vm="using:YZWater.Core.ViewModels"
- xmlns:lvc="using:LiveChartsCore.SkiaSharpView.Avalonia"
- x:Class="YZWater.Avalonia.Views.ViewCView"
- x:DataType="vm:ViewCViewModel">
- <UserControl.DataContext>
- <vm:ViewCViewModel/>
- </UserControl.DataContext>
- <Border x:Name="RootBorder" Background="{DynamicResource AppBgBrush}">
- <Grid RowDefinitions="48,*,32">
- <!-- 椤堕儴 -->
- <Border x:Name="TitleBar" Grid.Row="0" Background="{DynamicResource HeaderBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
- <Grid Margin="16,0">
- <StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
- <Border Background="{DynamicResource SuccessBrush}" Width="3" Height="20" CornerRadius="1"/>
- <TextBlock x:Name="TitleText" Text="{Binding TitleText}" FontFamily="{DynamicResource MonoFont}" FontSize="16" FontWeight="Bold"
- Foreground="{DynamicResource TextPrimaryBrush}" VerticalAlignment="Center"/>
- <TextBlock x:Name="SubtitleText" Text="{Binding SubtitleText}" FontSize="12" Foreground="{DynamicResource HeaderSubtextBrush}" VerticalAlignment="Center"/>
- </StackPanel>
- </Grid>
- </Border>
- <!-- 鍐呭 -->
- <Grid Grid.Row="1" RowDefinitions="Auto,*,Auto" Margin="8,4">
- <!-- 鏌ヨ鏉′欢 -->
- <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
- BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="12" Margin="0,0,0,4">
- <StackPanel Orientation="Horizontal" Spacing="16">
- <StackPanel Orientation="Horizontal" Spacing="6">
- <TextBlock Text="{Binding FromText}" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource HeaderSubtextBrush}" VerticalAlignment="Center"/>
- <DatePicker SelectedDate="{Binding StartDate}" Width="150"/>
- </StackPanel>
- <StackPanel Orientation="Horizontal" Spacing="6">
- <TextBlock Text="{Binding ToText}" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource HeaderSubtextBrush}" VerticalAlignment="Center"/>
- <DatePicker SelectedDate="{Binding EndDate}" Width="150"/>
- </StackPanel>
- <Button Content="{Binding QueryText}" Command="{Binding LoadFlowRecordsCommand}" Classes="btn-info"/>
- <Button Content="{Binding ExportCsvText}" Command="{Binding ExportDataCommand}" Classes="btn-success"/>
- <Button Content="{Binding PurgeOldText}" Command="{Binding ClearOldDataCommand}" Classes="btn-danger"/>
- </StackPanel>
- </Border>
- <!-- 鍥捐〃 -->
- <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
- BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="12" Margin="0,0,0,4">
- <ScrollViewer>
- <StackPanel>
- <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
- <Border Background="{DynamicResource SuccessBrush}" Width="3" Height="14" CornerRadius="1"/>
- <TextBlock Text="{Binding InflowTrendText}" FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource TextSecondaryBrush}"/>
- </StackPanel>
- <lvc:CartesianChart Series="{Binding InflowSeries}" XAxes="{Binding XAxes}" YAxes="{Binding YAxes}" Height="200"/>
- <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,16,0,8">
- <Border Background="{DynamicResource InfoBrush}" Width="3" Height="14" CornerRadius="1"/>
- <TextBlock Text="{Binding OutflowTrendText}" FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource TextSecondaryBrush}"/>
- </StackPanel>
- <lvc:CartesianChart Series="{Binding OutflowSeries}" XAxes="{Binding XAxes}" YAxes="{Binding YAxes}" Height="200"/>
- </StackPanel>
- </ScrollViewer>
- </Border>
- <!-- 鏁版嵁琛ㄦ牸 -->
- <Border Grid.Row="1" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
- BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="8">
- <DataGrid ItemsSource="{Binding FlowRecords}" AutoGenerateColumns="False" IsReadOnly="True" Height="150">
- <DataGrid.Columns>
- <DataGridTextColumn Header="TIME" Binding="{Binding RecordTime, StringFormat='{}{0:yyyy-MM-dd HH:mm:ss}'}" Width="160"/>
- <DataGridTextColumn Header="IN (m鲁/h)" Binding="{Binding InflowRate, StringFormat='{}{0:F1}'}" Width="100"/>
- <DataGridTextColumn Header="OUT (m鲁/h)" Binding="{Binding OutflowRate, StringFormat='{}{0:F1}'}" Width="100"/>
- <DataGridTextColumn Header="TOTAL IN (m鲁)" Binding="{Binding TotalInflow, StringFormat='{}{0:F1}'}" Width="120"/>
- <DataGridTextColumn Header="TOTAL OUT (m鲁)" Binding="{Binding TotalOutflow, StringFormat='{}{0:F1}'}" Width="120"/>
- </DataGrid.Columns>
- </DataGrid>
- </Border>
- </Grid>
- <!-- 搴曢儴 -->
- <Border x:Name="StatusBar" Grid.Row="2" Background="{DynamicResource NavBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,1,0,0">
- <TextBlock Text="v3.0" FontFamily="{DynamicResource MonoFont}" FontSize="10"
- Foreground="{DynamicResource TextDisabledBrush}" VerticalAlignment="Center" Margin="16,0"/>
- </Border>
- </Grid>
- </Border>
- </UserControl>
|