diff --git a/Source/Directory.Build.props b/Source/Directory.Build.props index 3f15db6..1f55fde 100644 --- a/Source/Directory.Build.props +++ b/Source/Directory.Build.props @@ -1,6 +1,6 @@ - 11.0.0 - 2.1.2 + 12.0.2 + 2.2.0 \ No newline at end of file diff --git a/Source/Examples/Avalonia/AvaloniaExamples/App.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/App.axaml.cs index 3d40e69..a51127a 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/App.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/App.axaml.cs @@ -12,37 +12,38 @@ public class App : Application public override void Initialize() { AvaloniaXamlLoader.Load(this); - base.Initialize(); +#if DEBUG + this.AttachDeveloperTools(); +#endif } public override void OnFrameworkInitializationCompleted() { - if (!(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)) + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { - throw new PlatformNotSupportedException(); + desktop.MainWindow = new MainWindow(); } - desktop.MainWindow = new MainWindow(); - base.OnFrameworkInitializationCompleted(); } + } - static void Main(string[] args) + public class Program + { + public static AppBuilder BuildAvaloniaApp() { OxyPlotModule.EnsureLoaded(); - AppBuilder.Configure() - .UsePlatformDetect() + var builder = AppBuilder.Configure() + .UsePlatformDetect(); #if DEBUG - .LogToTrace() + builder.LogToTrace(); #endif - .StartWithClassicDesktopLifetime(args); + return builder; } - public static void AttachDevTools(Window window) + public static void Main(string[] args) { -#if DEBUG - DevToolsExtensions.AttachDevTools(window); -#endif - } + BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); + } } } diff --git a/Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj b/Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj index 3540b23..2342f45 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj +++ b/Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj @@ -1,16 +1,17 @@  - net8.0 + net10.0 WinExe + false - + - + \ No newline at end of file diff --git a/Source/Examples/Avalonia/AvaloniaExamples/Examples/AnimationsDemo/MainWindow.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/Examples/AnimationsDemo/MainWindow.axaml.cs index 5add1fc..c0b1fd7 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/Examples/AnimationsDemo/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/Examples/AnimationsDemo/MainWindow.axaml.cs @@ -22,7 +22,6 @@ public partial class MainWindow : Avalonia.Controls.Window public MainWindow() { this.InitializeComponent(); - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/AvaloniaExamples/Examples/BarSeriesDemo/MainWindow.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/Examples/BarSeriesDemo/MainWindow.axaml.cs index e7b290a..193a7d0 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/Examples/BarSeriesDemo/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/Examples/BarSeriesDemo/MainWindow.axaml.cs @@ -50,8 +50,6 @@ public MainWindow() this.DataContext = new { Model1 = tmp, Items = items }; this.InitializeComponent(); - - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/AvaloniaExamples/Examples/DataTemplateDemo/PlotViewDataTemplateWindow.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/Examples/DataTemplateDemo/PlotViewDataTemplateWindow.axaml.cs index 75e9beb..dfaccca 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/Examples/DataTemplateDemo/PlotViewDataTemplateWindow.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/Examples/DataTemplateDemo/PlotViewDataTemplateWindow.axaml.cs @@ -43,7 +43,6 @@ public PlotViewDataTemplateWindow() private void InitializeComponent() { Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(this); - App.AttachDevTools(this); } private static Random r = new Random(13); diff --git a/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow.axaml.cs index 8bca701..d085f83 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow.axaml.cs @@ -23,7 +23,6 @@ public MainWindow() { this.InitializeComponent(); this.DataContext = new { Model1 = new ViewModel { Title = "Plot1" }, Model2 = new ViewModel { Title = "Plot2" } }; - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow2.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow2.axaml.cs index a166c1e..9d5123c 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow2.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/Examples/UserControlDemo/MainWindow2.axaml.cs @@ -24,7 +24,6 @@ public MainWindow2() { this.InitializeComponent(); this.DataContext = new { Models = new List { new ViewModel { Title = "Plot1" }, new ViewModel { Title = "Plot2" } } }; - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/AvaloniaExamples/MainWindow.axaml.cs b/Source/Examples/Avalonia/AvaloniaExamples/MainWindow.axaml.cs index 74b48dc..75fedd6 100644 --- a/Source/Examples/Avalonia/AvaloniaExamples/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/AvaloniaExamples/MainWindow.axaml.cs @@ -19,7 +19,6 @@ namespace AvaloniaExamples using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; - using Avalonia.Diagnostics; using Avalonia.Interactivity; /// @@ -35,7 +34,6 @@ public MainWindow() InitializeComponent(); ListBox.ItemsSource = this.Examples = this.GetExamples(this.GetType().Assembly).OrderBy(e => e.Title).ToArray(); this.DataContext = this; - DevToolsExtensions.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/ExampleBrowser/App.axaml.cs b/Source/Examples/Avalonia/ExampleBrowser/App.axaml.cs index 294821a..3738a3b 100644 --- a/Source/Examples/Avalonia/ExampleBrowser/App.axaml.cs +++ b/Source/Examples/Avalonia/ExampleBrowser/App.axaml.cs @@ -1,4 +1,5 @@ using Avalonia; +using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; @@ -9,6 +10,9 @@ public class App : Application public override void Initialize() { AvaloniaXamlLoader.Load(this); +#if DEBUG + this.AttachDeveloperTools(); +#endif } public override void OnFrameworkInitializationCompleted() diff --git a/Source/Examples/Avalonia/ExampleBrowser/ExampleBrowser.csproj b/Source/Examples/Avalonia/ExampleBrowser/ExampleBrowser.csproj index 90ea5f9..bb45fa2 100644 --- a/Source/Examples/Avalonia/ExampleBrowser/ExampleBrowser.csproj +++ b/Source/Examples/Avalonia/ExampleBrowser/ExampleBrowser.csproj @@ -1,12 +1,12 @@  WinExe - net8.0 + net10.0 - + diff --git a/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml b/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml index a73203a..ec3e896 100644 --- a/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml +++ b/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml @@ -7,6 +7,7 @@ xmlns:exampleBrowser="clr-namespace:ExampleBrowser;assembly=ExampleBrowser" xmlns:exampleLibrary="clr-namespace:ExampleLibrary;assembly=ExampleLibrary" x:Class="ExampleBrowser.MainWindow" + x:DataType="exampleBrowser:MainViewModel" Title="Example Browser"> diff --git a/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml.cs b/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml.cs index 671653a..c8a0e51 100644 --- a/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/ExampleBrowser/MainWindow.axaml.cs @@ -9,9 +9,6 @@ public partial class MainWindow : Window public MainWindow() { InitializeComponent(); -#if DEBUG - this.AttachDevTools(); -#endif } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/MemoryTest/App.axaml.cs b/Source/Examples/Avalonia/MemoryTest/App.axaml.cs index 361180d..19b5726 100644 --- a/Source/Examples/Avalonia/MemoryTest/App.axaml.cs +++ b/Source/Examples/Avalonia/MemoryTest/App.axaml.cs @@ -13,37 +13,38 @@ class App : Application public override void Initialize() { AvaloniaXamlLoader.Load(this); - base.Initialize(); +#if DEBUG + this.AttachDeveloperTools(); +#endif } public override void OnFrameworkInitializationCompleted() { - if (!(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)) + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { - throw new PlatformNotSupportedException(); + desktop.MainWindow = new MainWindow(); } - desktop.MainWindow = new MainWindow(); - base.OnFrameworkInitializationCompleted(); } + } - static void Main(string[] args) + public class Program + { + public static AppBuilder BuildAvaloniaApp() { OxyPlotModule.EnsureLoaded(); - AppBuilder.Configure() - .UsePlatformDetect() + var builder = AppBuilder.Configure() + .UsePlatformDetect(); #if DEBUG - .LogToTrace() + builder.LogToTrace(); #endif - .StartWithClassicDesktopLifetime(args); + return builder; } - public static void AttachDevTools(Window window) + public static void Main(string[] args) { -#if DEBUG - DevToolsExtensions.AttachDevTools(window); -#endif + BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); } } } diff --git a/Source/Examples/Avalonia/MemoryTest/MainWindow.axaml.cs b/Source/Examples/Avalonia/MemoryTest/MainWindow.axaml.cs index 6c19274..a46d688 100644 --- a/Source/Examples/Avalonia/MemoryTest/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/MemoryTest/MainWindow.axaml.cs @@ -8,7 +8,6 @@ public partial class MainWindow : Window public MainWindow() { this.InitializeComponent(); - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/MemoryTest/MemoryTest.csproj b/Source/Examples/Avalonia/MemoryTest/MemoryTest.csproj index c13c26a..36c4f93 100644 --- a/Source/Examples/Avalonia/MemoryTest/MemoryTest.csproj +++ b/Source/Examples/Avalonia/MemoryTest/MemoryTest.csproj @@ -1,13 +1,13 @@  - net8.0 + net10.0 Exe - + - + \ No newline at end of file diff --git a/Source/Examples/Avalonia/MemoryTest/Window1.axaml b/Source/Examples/Avalonia/MemoryTest/Window1.axaml index 8d5028c..2139146 100644 --- a/Source/Examples/Avalonia/MemoryTest/Window1.axaml +++ b/Source/Examples/Avalonia/MemoryTest/Window1.axaml @@ -2,6 +2,8 @@ xmlns:oxy="http://oxyplot.org/avalonia" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="MemoryTest.Window1" + xmlns:local="clr-namespace:MemoryTest" + x:DataType="local:Window1" MinWidth="500" MinHeight="300"> diff --git a/Source/Examples/Avalonia/MemoryTest/Window1.axaml.cs b/Source/Examples/Avalonia/MemoryTest/Window1.axaml.cs index b04f0db..c889c62 100644 --- a/Source/Examples/Avalonia/MemoryTest/Window1.axaml.cs +++ b/Source/Examples/Avalonia/MemoryTest/Window1.axaml.cs @@ -17,8 +17,6 @@ public Window1() DataContext = Model; InitializeComponent(); - - App.AttachDevTools(this); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/MemoryTest/Window2.axaml b/Source/Examples/Avalonia/MemoryTest/Window2.axaml index dd19f38..17c1756 100644 --- a/Source/Examples/Avalonia/MemoryTest/Window2.axaml +++ b/Source/Examples/Avalonia/MemoryTest/Window2.axaml @@ -2,6 +2,8 @@ xmlns:oxy="http://oxyplot.org/avalonia" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="MemoryTest.Window2" + xmlns:local="clr-namespace:MemoryTest" + x:DataType="local:Window2" MinWidth="500" MinHeight="300"> diff --git a/Source/Examples/Avalonia/MemoryTest/Window2.axaml.cs b/Source/Examples/Avalonia/MemoryTest/Window2.axaml.cs index 71745e0..9382e75 100644 --- a/Source/Examples/Avalonia/MemoryTest/Window2.axaml.cs +++ b/Source/Examples/Avalonia/MemoryTest/Window2.axaml.cs @@ -22,7 +22,6 @@ public Window2() } InitializeComponent(); - App.AttachDevTools(this); DataContext = Plots; } diff --git a/Source/Examples/Avalonia/SimpleDemo/App.axaml.cs b/Source/Examples/Avalonia/SimpleDemo/App.axaml.cs index 2548a40..faeed3f 100644 --- a/Source/Examples/Avalonia/SimpleDemo/App.axaml.cs +++ b/Source/Examples/Avalonia/SimpleDemo/App.axaml.cs @@ -1,4 +1,5 @@ using Avalonia; +using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using OxyPlot.Avalonia; @@ -8,35 +9,37 @@ namespace SimpleDemo { class App : Application { - public App() - { - RegisterServices(); - } - public override void Initialize() { AvaloniaXamlLoader.Load(this); - base.Initialize(); +#if DEBUG + this.AttachDeveloperTools(); +#endif } public override void OnFrameworkInitializationCompleted() { - if (!(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)) + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { - throw new PlatformNotSupportedException(); + desktop.MainWindow = new MainWindow(); } - desktop.MainWindow = new MainWindow(); - base.OnFrameworkInitializationCompleted(); } + } - public static void Main(string[] args) + public class Program + { + public static AppBuilder BuildAvaloniaApp() { OxyPlotModule.EnsureLoaded(); - AppBuilder.Configure() - .UsePlatformDetect() - .StartWithClassicDesktopLifetime(args); + return AppBuilder.Configure() + .UsePlatformDetect(); + } + + public static void Main(string[] args) + { + BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); } } } diff --git a/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml b/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml index 8e2b0ca..3d2d634 100644 --- a/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml +++ b/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:oxy="clr-namespace:OxyPlot.Avalonia;assembly=OxyPlot.Avalonia" xmlns:simpleDemo="clr-namespace:SimpleDemo;assembly=SimpleDemo" + x:DataType="simpleDemo:MainViewModel" Title="OxyPlot SimpleDemo" Height="480" Width="640"> diff --git a/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml.cs b/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml.cs index 44352a2..a712ad6 100644 --- a/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml.cs +++ b/Source/Examples/Avalonia/SimpleDemo/MainWindow.axaml.cs @@ -25,7 +25,6 @@ public partial class MainWindow : Window public MainWindow() { InitializeComponent(); - this.AttachDevTools(); } private void InitializeComponent() diff --git a/Source/Examples/Avalonia/SimpleDemo/SimpleDemo.csproj b/Source/Examples/Avalonia/SimpleDemo/SimpleDemo.csproj index e84ede3..5ee531e 100644 --- a/Source/Examples/Avalonia/SimpleDemo/SimpleDemo.csproj +++ b/Source/Examples/Avalonia/SimpleDemo/SimpleDemo.csproj @@ -1,14 +1,14 @@  - net8.0 + net10.0 Exe - + - + \ No newline at end of file diff --git a/Source/OxyPlot.Avalonia/OxyPlot.Avalonia.csproj b/Source/OxyPlot.Avalonia/OxyPlot.Avalonia.csproj index 7874ce4..cb26b6b 100644 --- a/Source/OxyPlot.Avalonia/OxyPlot.Avalonia.csproj +++ b/Source/OxyPlot.Avalonia/OxyPlot.Avalonia.csproj @@ -1,6 +1,6 @@  - netstandard2.0 + net10.0 Oxyplot.Avalonia True OxyPlot is a plotting library for .NET. This is a support library for OxyPlot to work with AvaloniaUI. diff --git a/Source/OxyPlot.Avalonia/PlotBase.cs b/Source/OxyPlot.Avalonia/PlotBase.cs index 1d43d90..f9f348e 100644 --- a/Source/OxyPlot.Avalonia/PlotBase.cs +++ b/Source/OxyPlot.Avalonia/PlotBase.cs @@ -8,6 +8,7 @@ // -------------------------------------------------------------------------------------------------------------------- using Avalonia.Reactive; +using Avalonia.Input.Platform; namespace OxyPlot.Avalonia { diff --git a/Source/OxyPlot.Avalonia/Themes/Default.axaml b/Source/OxyPlot.Avalonia/Themes/Default.axaml index 9395e97..6b5dcf4 100644 --- a/Source/OxyPlot.Avalonia/Themes/Default.axaml +++ b/Source/OxyPlot.Avalonia/Themes/Default.axaml @@ -1,7 +1,9 @@ - +