diff --git a/Netling.Client/App.xaml b/Netling.Client/App.axaml similarity index 51% rename from Netling.Client/App.xaml rename to Netling.Client/App.axaml index 3d850f1..c26c844 100644 --- a/Netling.Client/App.xaml +++ b/Netling.Client/App.axaml @@ -1,9 +1,15 @@  + xmlns="https://github.com/avaloniaui" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + + + + + + - + @@ -11,4 +17,4 @@ - + \ No newline at end of file diff --git a/Netling.Client/App.axaml.cs b/Netling.Client/App.axaml.cs new file mode 100644 index 0000000..c29caa5 --- /dev/null +++ b/Netling.Client/App.axaml.cs @@ -0,0 +1,24 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; + +namespace Netling.Client +{ + public partial class App : Application + { + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } + } +} \ No newline at end of file diff --git a/Netling.Client/App.xaml.cs b/Netling.Client/App.xaml.cs deleted file mode 100644 index 56ed28b..0000000 --- a/Netling.Client/App.xaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Windows; - -namespace Netling.Client -{ - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { - } -} diff --git a/Netling.Client/LineGraphControl.xaml b/Netling.Client/LineGraphControl.axaml similarity index 62% rename from Netling.Client/LineGraphControl.xaml rename to Netling.Client/LineGraphControl.axaml index 0ae9ba4..5657df6 100644 --- a/Netling.Client/LineGraphControl.xaml +++ b/Netling.Client/LineGraphControl.axaml @@ -1,12 +1,12 @@ - - + \ No newline at end of file diff --git a/Netling.Client/LineGraphControl.axaml.cs b/Netling.Client/LineGraphControl.axaml.cs new file mode 100644 index 0000000..438595b --- /dev/null +++ b/Netling.Client/LineGraphControl.axaml.cs @@ -0,0 +1,69 @@ +using System.Collections.Generic; +using OxyPlot; +using OxyPlot.Axes; +using OxyPlot.Series; +using Avalonia.Controls; +using Avalonia.Input; +using Avalonia.Interactivity; +using Avalonia.Markup.Xaml; + +namespace Netling.Client; + +public partial class LineGraphControl : UserControl +{ + public LineGraphControl() + { + InitializeComponent(); + } + + public void Draw(IEnumerable points, string? trackerFormatString = null) + { + var plotModel = new PlotModel + { + PlotMargins = new OxyThickness(0), + PlotAreaBorderThickness = new OxyThickness(0) + }; + + plotModel.Axes.Add(new LinearAxis + { + MinimumPadding = 0.01, + MaximumPadding = 0.01, + IsAxisVisible = false, + IsZoomEnabled = false, + IsPanEnabled = false, + Position = AxisPosition.Bottom + }); + + plotModel.Axes.Add(new LinearAxis + { + Minimum = 0.0, + MaximumPadding = 0.1, + TickStyle = TickStyle.None, + MajorGridlineStyle = LineStyle.Solid, + MinorGridlineStyle = LineStyle.Dot, + IsZoomEnabled = false, + IsPanEnabled = false, + LabelFormatter = d => "", + AxisTickToLabelDistance = 0 + }); + + var ls = new LineSeries + { + Color = OxyColor.Parse("#ff0079c5"), + CanTrackerInterpolatePoints = false + }; + + if (trackerFormatString != null) + { + ls.TrackerFormatString = trackerFormatString; + } + + foreach (var point in points) + { + ls.Points.Add(point); + } + + plotModel.Series.Add(ls); + Graph.Model = plotModel; + } +} \ No newline at end of file diff --git a/Netling.Client/LineGraphControl.xaml.cs b/Netling.Client/LineGraphControl.xaml.cs deleted file mode 100644 index db91cf6..0000000 --- a/Netling.Client/LineGraphControl.xaml.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System.Collections.Generic; -using OxyPlot; -using OxyPlot.Axes; -using OxyPlot.Series; - -namespace Netling.Client -{ - public partial class LineGraphControl - { - public LineGraphControl() - { - InitializeComponent(); - } - - public void Draw(IEnumerable points, string trackerFormatString = null) - { - var plotModel = new PlotModel - { - PlotMargins = new OxyThickness(0), - PlotAreaBorderThickness = new OxyThickness(0) - }; - - plotModel.Axes.Add(new LinearAxis - { - MinimumPadding = 0.01, - MaximumPadding = 0.01, - IsAxisVisible = false, - IsZoomEnabled = false, - IsPanEnabled = false, - Position = AxisPosition.Bottom - }); - - plotModel.Axes.Add(new LinearAxis - { - Minimum = 0.0, - MaximumPadding = 0.1, - TickStyle = TickStyle.None, - MajorGridlineStyle = LineStyle.Solid, - MinorGridlineStyle = LineStyle.Dot, - IsZoomEnabled = false, - IsPanEnabled = false, - LabelFormatter = d => "", - AxisTickToLabelDistance = 0 - }); - - var ls = new LineSeries - { - Color = OxyColor.Parse("#ff0079c5"), - CanTrackerInterpolatePoints = false - }; - - if (trackerFormatString != null) - { - ls.TrackerFormatString = trackerFormatString; - } - - foreach (var point in points) - { - ls.Points.Add(point); - } - - plotModel.Series.Add(ls); - Graph.Model = plotModel; - } - } -} diff --git a/Netling.Client/MainWindow.xaml b/Netling.Client/MainWindow.axaml similarity index 55% rename from Netling.Client/MainWindow.xaml rename to Netling.Client/MainWindow.axaml index 5204192..24de81f 100644 --- a/Netling.Client/MainWindow.xaml +++ b/Netling.Client/MainWindow.axaml @@ -1,16 +1,28 @@  + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + Title="Netling" Width="500" Height="223"> - - + + + + + + + + + - - + + 10 seconds 20 seconds 1 minute @@ -25,11 +37,16 @@ - - - -