angular gauge

main
syneffort 1 year ago
parent 8224296a4f
commit 9bb5a31ff7
  1. 29
      LC_Tutorial/Tutorial/BasicPlots/AngularGaugeWindow.xaml
  2. 61
      LC_Tutorial/Tutorial/BasicPlots/AngularGaugeWindow.xaml.cs
  3. 1
      LC_Tutorial/Tutorial/MainWindow.xaml
  4. 6
      LC_Tutorial/Tutorial/MainWindow.xaml.cs

@ -0,0 +1,29 @@
<Window x:Class="Tutorial.BasicPlots.AngularGaugeWindow"
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.BasicPlots"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
mc:Ignorable="d"
Title="AngularGaugeWindow" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<lvc:AngularGauge Grid.Row="0" FromValue="50" ToValue="250" Value="{Binding Value}"
LabelsStep="50" TicksStep="25" Wedge="300"
TicksForeground="White" Foreground="White"
FontWeight="Bold" FontSize="16"
SectionsInnerRadius="0.5">
<lvc:AngularGauge.Sections>
<lvc:AngularSection FromValue="50" ToValue="200" Fill="Orange"/>
<lvc:AngularSection FromValue="200" ToValue="250" Fill="OrangeRed"/>
</lvc:AngularGauge.Sections>
</lvc:AngularGauge>
<Button x:Name="btnUpdate" Grid.Row="1" Content="Update" Click="btnUpdate_Click"/>
</Grid>
</Window>

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Tutorial.BasicPlots
{
/// <summary>
/// AngularGaugeWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class AngularGaugeWindow : Window, INotifyPropertyChanged
{
private double _value;
public event PropertyChangedEventHandler? PropertyChanged;
public double Value
{
get { return _value; }
set
{
_value = value;
OnPropertyChanged(nameof(Value));
}
}
public AngularGaugeWindow()
{
InitializeComponent();
InitInstance();
}
protected virtual void InitInstance()
{
Value = 160;
DataContext = this;
}
protected virtual void OnPropertyChanged(string propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private void btnUpdate_Click(object sender, RoutedEventArgs e)
{
Value = new Random().Next(50, 250);
}
}
}

@ -24,6 +24,7 @@
<Button x:Name="btnPie" Content="Pie" Margin="3" Click="btnPie_Click"/>
<Button x:Name="btnDoughnut" Content="Doughnut" Margin="3" Click="btnDoughnut_Click"/>
<Button x:Name="btnSolidGauge" Content="Solid Gauge" Margin="3" Click="btnSolidGauge_Click"/>
<Button x:Name="btnAngularGauge" Content="Angular Gauge" Margin="3" Click="btnAngularGauge_Click"/>
</StackPanel>
</Grid>
</Window>

@ -97,5 +97,11 @@ namespace Tutorial
SolidGaugeWindow win = new SolidGaugeWindow();
win.Show();
}
private void btnAngularGauge_Click(object sender, RoutedEventArgs e)
{
AngularGaugeWindow win = new AngularGaugeWindow();
win.Show();
}
}
}

Loading…
Cancel
Save