|
|
|
@ -0,0 +1,142 @@ |
|
|
|
|
<Window x:Class="Tutorial.AdvancedPlots.MaterialDesignWindow" |
|
|
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
|
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|
|
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|
|
|
|
xmlns:local="clr-namespace:Tutorial.AdvancedPlots" |
|
|
|
|
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" |
|
|
|
|
mc:Ignorable="d" |
|
|
|
|
Title="MaterialDesignWindow" Height="500" Width="800" |
|
|
|
|
Background="#E9E9E9"> |
|
|
|
|
<Grid Height="500" Width="650"> |
|
|
|
|
<Grid.ColumnDefinitions> |
|
|
|
|
<ColumnDefinition Width="*"/> |
|
|
|
|
<ColumnDefinition Width="*"/> |
|
|
|
|
</Grid.ColumnDefinitions> |
|
|
|
|
|
|
|
|
|
<Grid Grid.Column="0" MaxHeight="350"> |
|
|
|
|
<Grid.RowDefinitions> |
|
|
|
|
<RowDefinition Height="Auto"></RowDefinition> |
|
|
|
|
<RowDefinition Height="Auto"></RowDefinition> |
|
|
|
|
<RowDefinition Height="0.5*"></RowDefinition> |
|
|
|
|
<RowDefinition Height="0.5*"></RowDefinition> |
|
|
|
|
</Grid.RowDefinitions> |
|
|
|
|
|
|
|
|
|
<Grid.Resources> |
|
|
|
|
<Style TargetType="lvc:LineSeries"> |
|
|
|
|
<Setter Property="StrokeThickness" Value="3"></Setter> |
|
|
|
|
<Setter Property="Stroke" Value="White"></Setter> |
|
|
|
|
<Setter Property="Fill" Value="#4EFFFFFF"></Setter> |
|
|
|
|
<Setter Property="PointGeometrySize" Value="0"></Setter> |
|
|
|
|
<Setter Property="LineSmoothness" Value="0"></Setter> |
|
|
|
|
</Style> |
|
|
|
|
<Style TargetType="lvc:Axis"> |
|
|
|
|
<Setter Property="ShowLabels" Value="False"></Setter> |
|
|
|
|
<Setter Property="IsEnabled" Value="False"></Setter> |
|
|
|
|
</Style> |
|
|
|
|
</Grid.Resources> |
|
|
|
|
|
|
|
|
|
<Grid.Effect> |
|
|
|
|
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" Opacity="0.2" ShadowDepth="1"/> |
|
|
|
|
</Grid.Effect> |
|
|
|
|
|
|
|
|
|
<Grid.OpacityMask> |
|
|
|
|
<VisualBrush Visual="{Binding ElementName=Border1}"/> |
|
|
|
|
</Grid.OpacityMask> |
|
|
|
|
|
|
|
|
|
<Border x:Name="Border1" Grid.Row="0" Grid.RowSpan="4" CornerRadius="5" Background="White"/> |
|
|
|
|
<Border Grid.Row="0" Grid.RowSpan="3" Background="#CE2156"/> |
|
|
|
|
<TextBlock Grid.Row="0" TextAlignment="Center" Foreground="White" Padding="10 10 0 5" Text="The Current Chart" FontSize="18"/> |
|
|
|
|
<TextBlock Grid.Row="1" TextAlignment="Center" Foreground="#59FFFFFF" Padding="0 0 0 20" Text="{Binding NowDate, StringFormat={}{0:yyyy-MM-dd tt hh:mm:ss}}"/> |
|
|
|
|
<lvc:CartesianChart x:Name="CurrentChart" Grid.Row="2" Series="{Binding LastHourSeries}" Hoverable="False"> |
|
|
|
|
<lvc:CartesianChart.AxisX> |
|
|
|
|
<lvc:Axis MinValue="2"/> |
|
|
|
|
</lvc:CartesianChart.AxisX> |
|
|
|
|
</lvc:CartesianChart> |
|
|
|
|
<StackPanel Grid.Row="3" VerticalAlignment="Center" Margin="25 0"> |
|
|
|
|
<TextBlock Opacity="0.4" FontSize="13"> |
|
|
|
|
Total electricity consumption <LineBreak/> of Galaxy SOHO |
|
|
|
|
</TextBlock> |
|
|
|
|
<StackPanel Orientation="Horizontal"> |
|
|
|
|
<TextBlock Foreground="#303030" FontSize="40" Text="{Binding LastLecture, StringFormat={}{0:N2}}"/> |
|
|
|
|
<TextBlock Foreground="#303030" FontSize="18" VerticalAlignment="Bottom" Margin="8 6" Text="kWh"/> |
|
|
|
|
</StackPanel> |
|
|
|
|
</StackPanel> |
|
|
|
|
</Grid> |
|
|
|
|
|
|
|
|
|
<Grid Grid.Column="1" Margin="15 20 15 15" MaxHeight="350"> |
|
|
|
|
<Grid.RowDefinitions> |
|
|
|
|
<RowDefinition Height="Auto"></RowDefinition> |
|
|
|
|
<RowDefinition Height="Auto"></RowDefinition> |
|
|
|
|
<RowDefinition Height=".50*"></RowDefinition> |
|
|
|
|
<RowDefinition Height=".5*"></RowDefinition> |
|
|
|
|
</Grid.RowDefinitions> |
|
|
|
|
|
|
|
|
|
<Grid.Resources> |
|
|
|
|
<Style TargetType="lvc:ColumnSeries"> |
|
|
|
|
<Setter Property="StrokeThickness" Value="0"></Setter> |
|
|
|
|
<Setter Property="Stroke" Value="White"></Setter> |
|
|
|
|
<Setter Property="Fill" Value="White"></Setter> |
|
|
|
|
<Setter Property="MaxColumnWidth" Value="5"></Setter> |
|
|
|
|
</Style> |
|
|
|
|
<Style TargetType="lvc:Axis"> |
|
|
|
|
<Setter Property="FontSize" Value="12"></Setter> |
|
|
|
|
<Setter Property="Foreground" Value="#64FFFFFF"></Setter> |
|
|
|
|
<Style.Triggers> |
|
|
|
|
<Trigger Property="AxisOrientation" Value="Y"> |
|
|
|
|
<Setter Property="IsMerged" Value="True"></Setter> |
|
|
|
|
<Setter Property="MaxValue" Value="10"></Setter> |
|
|
|
|
</Trigger> |
|
|
|
|
</Style.Triggers> |
|
|
|
|
</Style> |
|
|
|
|
<Style TargetType="lvc:Separator"> |
|
|
|
|
<Setter Property="StrokeThickness" Value="1"></Setter> |
|
|
|
|
<Setter Property="Stroke" Value="#4BFFFFFF"></Setter> |
|
|
|
|
<Style.Triggers> |
|
|
|
|
<Trigger Property="AxisOrientation" Value="X"> |
|
|
|
|
<Setter Property="IsEnabled" Value="False"></Setter> |
|
|
|
|
<Setter Property="Step" Value="1"></Setter> |
|
|
|
|
</Trigger> |
|
|
|
|
</Style.Triggers> |
|
|
|
|
</Style> |
|
|
|
|
</Grid.Resources> |
|
|
|
|
|
|
|
|
|
<Grid.Effect> |
|
|
|
|
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" Opacity=".2" ShadowDepth="1"/> |
|
|
|
|
</Grid.Effect> |
|
|
|
|
|
|
|
|
|
<Grid.OpacityMask> |
|
|
|
|
<VisualBrush Visual="{Binding ElementName=Border2}" /> |
|
|
|
|
</Grid.OpacityMask> |
|
|
|
|
|
|
|
|
|
<Border x:Name="Border2" Grid.Row="0" Grid.RowSpan="4" CornerRadius="5" Background="White"/> |
|
|
|
|
<Border Grid.Row="0" Grid.RowSpan="3" Background="#EB5A13"/> |
|
|
|
|
<TextBlock Grid.Row="0" TextAlignment="Center" Padding="10 10 0 5" Foreground="White" FontSize="18" Text="Time Power"/> |
|
|
|
|
<TextBlock Grid.Row="1" TextAlignment="Center" Foreground="#59FFFFFF" Padding="0 0 0 20" Text="{Binding NowDate, StringFormat={}{0:yyyy-MM-dd tt hh:mm:ss}}"/> |
|
|
|
|
<Button x:Name="btnUpdate" Grid.Row="3" Width="40" Height="40" VerticalAlignment="Top" |
|
|
|
|
HorizontalAlignment="Right" Margin="20 -20" Panel.ZIndex="1" |
|
|
|
|
Click="btnUpdate_Click"> |
|
|
|
|
<Button.Template> |
|
|
|
|
<ControlTemplate TargetType="Button"> |
|
|
|
|
<Grid> |
|
|
|
|
<Grid.Effect> |
|
|
|
|
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" Opacity=".2" ShadowDepth="1"/> |
|
|
|
|
</Grid.Effect> |
|
|
|
|
<Ellipse Stroke="Black" StrokeThickness="0" Fill="#CD2156"/> |
|
|
|
|
<Path Width="20" Height="20" Stretch="Fill" Fill="White" Data="F1 M 58,33.5001L 58,27L 49,19L 40,27.5001L 40,33.5001L 46,28.2097L 46,40.5C 46,46.299 41.299,51 35.5,51C 29.701,51 25,46.299 25,40.5C 25,34.8686 29.4332,30.2727 35,30.0117L 35,24.0074C 26.1186,24.2718 19,31.5546 19,40.5C 19,49.6127 26.3873,57 35.5,57C 44.6127,57 52,49.6127 52,40.5L 52,28.125L 58,33.5001 Z "/> |
|
|
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> |
|
|
|
|
</Grid> |
|
|
|
|
</ControlTemplate> |
|
|
|
|
</Button.Template> |
|
|
|
|
</Button> |
|
|
|
|
<lvc:CartesianChart x:Name="TimePowerChart" Grid.Row="2" Series="{Binding TimePowerSeries}" Margin="10 0 10 20" Hoverable="False"/> |
|
|
|
|
<StackPanel Grid.Row="3" VerticalAlignment="Center" Margin="25 0"> |
|
|
|
|
<TextBlock Opacity="0.4" FontSize="13">The Last 12 hours average <LineBreak/> Electricity Consumption</TextBlock> |
|
|
|
|
<StackPanel Orientation="Horizontal"> |
|
|
|
|
<TextBlock Foreground="#303030" FontSize="40" Text="{Binding TimePowerAverage, StringFormat={}{0:N2}}" /> |
|
|
|
|
<TextBlock Foreground="#303030" FontSize="18" VerticalAlignment="Bottom" Margin="8, 6">kWh</TextBlock> |
|
|
|
|
</StackPanel> |
|
|
|
|
</StackPanel> |
|
|
|
|
</Grid> |
|
|
|
|
</Grid> |
|
|
|
|
</Window> |