mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
UI - Added basic implementation for each OS
This commit is contained in:
parent
f38a9e9e55
commit
e05de0d780
@ -1,6 +1,5 @@
|
|||||||
<Application xmlns="https://github.com/avaloniaui"
|
<Application xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="using:Artemis.UI.Linux"
|
|
||||||
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
||||||
x:Class="Artemis.UI.Linux.App">
|
x:Class="Artemis.UI.Linux.App">
|
||||||
<Application.DataTemplates>
|
<Application.DataTemplates>
|
||||||
@ -8,6 +7,7 @@
|
|||||||
</Application.DataTemplates>
|
</Application.DataTemplates>
|
||||||
|
|
||||||
<Application.Styles>
|
<Application.Styles>
|
||||||
<FluentTheme Mode="Light"/>
|
<StyleInclude Source="avares://Artemis.UI/Styles/Artemis.axaml" />
|
||||||
|
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/Artemis.axaml" />
|
||||||
</Application.Styles>
|
</Application.Styles>
|
||||||
</Application>
|
</Application>
|
||||||
@ -1,50 +1,26 @@
|
|||||||
using Artemis.Core.Ninject;
|
|
||||||
using Artemis.UI.Ninject;
|
|
||||||
using Artemis.UI.Screens.Root.ViewModels;
|
|
||||||
using Artemis.UI.Shared.Ninject;
|
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using Ninject;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using Splat.Ninject;
|
|
||||||
|
|
||||||
namespace Artemis.UI.Linux
|
namespace Artemis.UI.Linux
|
||||||
{
|
{
|
||||||
public class App : Application
|
public class App : Application
|
||||||
{
|
{
|
||||||
private StandardKernel _kernel = null!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
InitializeNinject();
|
ArtemisBootstrapper.Bootstrap();
|
||||||
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
||||||
|
|
||||||
AvaloniaXamlLoader.Load(this);
|
AvaloniaXamlLoader.Load(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnFrameworkInitializationCompleted()
|
public override void OnFrameworkInitializationCompleted()
|
||||||
{
|
{
|
||||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||||
desktop.MainWindow = new MainWindow
|
ArtemisBootstrapper.ConfigureApplicationLifetime(desktop);
|
||||||
{
|
|
||||||
DataContext = _kernel.Get<RootViewModel>()
|
|
||||||
};
|
|
||||||
|
|
||||||
base.OnFrameworkInitializationCompleted();
|
base.OnFrameworkInitializationCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeNinject()
|
|
||||||
{
|
|
||||||
_kernel = new StandardKernel();
|
|
||||||
_kernel.Settings.InjectNonPublic = true;
|
|
||||||
|
|
||||||
_kernel.Load<CoreModule>();
|
|
||||||
_kernel.Load<UIModule>();
|
|
||||||
_kernel.Load<SharedUIModule>();
|
|
||||||
|
|
||||||
_kernel.UseNinjectDependencyResolver();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,6 +1,5 @@
|
|||||||
<Application xmlns="https://github.com/avaloniaui"
|
<Application xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="using:Artemis.UI.MacOS"
|
|
||||||
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
||||||
x:Class="Artemis.UI.MacOS.App">
|
x:Class="Artemis.UI.MacOS.App">
|
||||||
<Application.DataTemplates>
|
<Application.DataTemplates>
|
||||||
@ -8,6 +7,7 @@
|
|||||||
</Application.DataTemplates>
|
</Application.DataTemplates>
|
||||||
|
|
||||||
<Application.Styles>
|
<Application.Styles>
|
||||||
<FluentTheme Mode="Light"/>
|
<StyleInclude Source="avares://Artemis.UI/Styles/Artemis.axaml" />
|
||||||
|
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/Artemis.axaml" />
|
||||||
</Application.Styles>
|
</Application.Styles>
|
||||||
</Application>
|
</Application>
|
||||||
@ -1,50 +1,26 @@
|
|||||||
using Artemis.Core.Ninject;
|
|
||||||
using Artemis.UI.Ninject;
|
|
||||||
using Artemis.UI.Screens.Root.ViewModels;
|
|
||||||
using Artemis.UI.Shared.Ninject;
|
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using Ninject;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using Splat.Ninject;
|
|
||||||
|
|
||||||
namespace Artemis.UI.MacOS
|
namespace Artemis.UI.MacOS
|
||||||
{
|
{
|
||||||
public class App : Application
|
public class App : Application
|
||||||
{
|
{
|
||||||
private StandardKernel _kernel = null!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
InitializeNinject();
|
ArtemisBootstrapper.Bootstrap();
|
||||||
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
||||||
|
|
||||||
AvaloniaXamlLoader.Load(this);
|
AvaloniaXamlLoader.Load(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnFrameworkInitializationCompleted()
|
public override void OnFrameworkInitializationCompleted()
|
||||||
{
|
{
|
||||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||||
desktop.MainWindow = new MainWindow
|
ArtemisBootstrapper.ConfigureApplicationLifetime(desktop);
|
||||||
{
|
|
||||||
DataContext = _kernel.Get<RootViewModel>()
|
|
||||||
};
|
|
||||||
|
|
||||||
base.OnFrameworkInitializationCompleted();
|
base.OnFrameworkInitializationCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeNinject()
|
|
||||||
{
|
|
||||||
_kernel = new StandardKernel();
|
|
||||||
_kernel.Settings.InjectNonPublic = true;
|
|
||||||
|
|
||||||
_kernel.Load<CoreModule>();
|
|
||||||
_kernel.Load<UIModule>();
|
|
||||||
_kernel.Load<SharedUIModule>();
|
|
||||||
|
|
||||||
_kernel.UseNinjectDependencyResolver();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
8
src/Avalonia/Artemis.UI.Shared/Styles/Artemis.axaml
Normal file
8
src/Avalonia/Artemis.UI.Shared/Styles/Artemis.axaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<Styles xmlns="https://github.com/avaloniaui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
<StyleInclude Source="/Styles/Border.axaml" />
|
||||||
|
<StyleInclude Source="/Styles/Button.axaml" />
|
||||||
|
<StyleInclude Source="/Styles/TextBlock.axaml" />
|
||||||
|
<StyleInclude Source="/Styles/Sidebar.axaml" />
|
||||||
|
<StyleInclude Source="/Styles/InfoBar.axaml" />
|
||||||
|
</Styles>
|
||||||
@ -1,31 +1,13 @@
|
|||||||
<Application xmlns="https://github.com/avaloniaui"
|
<Application xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="using:Artemis.UI.Windows"
|
|
||||||
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
xmlns:ui="clr-namespace:Artemis.UI;assembly=Artemis.UI"
|
||||||
xmlns:styling="clr-namespace:FluentAvalonia.Styling;assembly=FluentAvalonia"
|
|
||||||
x:Class="Artemis.UI.Windows.App">
|
x:Class="Artemis.UI.Windows.App">
|
||||||
<Application.DataTemplates>
|
<Application.DataTemplates>
|
||||||
<ui:ViewLocator/>
|
<ui:ViewLocator/>
|
||||||
</Application.DataTemplates>
|
</Application.DataTemplates>
|
||||||
|
|
||||||
<Application.Styles>
|
<Application.Styles>
|
||||||
<!-- Third party styles -->
|
<StyleInclude Source="avares://Artemis.UI/Styles/Artemis.axaml" />
|
||||||
<styling:FluentAvaloniaTheme RequestedTheme="Dark" CustomAccentColor="#4db6ac" />
|
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/Artemis.axaml" />
|
||||||
<StyleInclude Source="avares://Material.Icons.Avalonia/App.xaml" />
|
|
||||||
|
|
||||||
<!-- Grab the window styling from Avalonia -->
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/Window.xaml" />
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/TitleBar.xaml" />
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/CaptionButtons.xaml" />
|
|
||||||
|
|
||||||
<!-- Global styles -->
|
|
||||||
<!-- <StyleInclude Source="/Styles/Border.axaml" /> -->
|
|
||||||
<!-- <StyleInclude Source="/Styles/Button.axaml" /> -->
|
|
||||||
<!-- <StyleInclude Source="/Styles/TextBlock.axaml" /> -->
|
|
||||||
<!-- <StyleInclude Source="/Styles/Sidebar.axaml" /> -->
|
|
||||||
|
|
||||||
<!-- Shared styles -->
|
|
||||||
<!-- TODO: Make a single file-->
|
|
||||||
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/InfoBar.axaml" />
|
|
||||||
</Application.Styles>
|
</Application.Styles>
|
||||||
</Application>
|
</Application>
|
||||||
|
|||||||
@ -1,27 +1,18 @@
|
|||||||
using Artemis.Core.Ninject;
|
|
||||||
using Artemis.UI.Ninject;
|
|
||||||
using Artemis.UI.Screens.Root.ViewModels;
|
|
||||||
using Artemis.UI.Shared.Ninject;
|
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using FluentAvalonia.Styling;
|
using FluentAvalonia.Styling;
|
||||||
using Ninject;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using Splat.Ninject;
|
|
||||||
|
|
||||||
namespace Artemis.UI.Windows
|
namespace Artemis.UI.Windows
|
||||||
{
|
{
|
||||||
public class App : Application
|
public class App : Application
|
||||||
{
|
{
|
||||||
private StandardKernel _kernel = null!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
InitializeNinject();
|
ArtemisBootstrapper.Bootstrap();
|
||||||
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
||||||
|
|
||||||
AvaloniaXamlLoader.Load(this);
|
AvaloniaXamlLoader.Load(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,26 +20,11 @@ namespace Artemis.UI.Windows
|
|||||||
{
|
{
|
||||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||||
{
|
{
|
||||||
desktop.MainWindow = new MainWindow
|
ArtemisBootstrapper.ConfigureApplicationLifetime(desktop);
|
||||||
{
|
|
||||||
DataContext = _kernel.Get<RootViewModel>()
|
|
||||||
};
|
|
||||||
AvaloniaLocator.Current.GetService<FluentAvaloniaTheme>().ForceNativeTitleBarToTheme(desktop.MainWindow, "Dark");
|
AvaloniaLocator.Current.GetService<FluentAvaloniaTheme>().ForceNativeTitleBarToTheme(desktop.MainWindow, "Dark");
|
||||||
}
|
}
|
||||||
|
|
||||||
base.OnFrameworkInitializationCompleted();
|
base.OnFrameworkInitializationCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeNinject()
|
|
||||||
{
|
|
||||||
_kernel = new StandardKernel();
|
|
||||||
_kernel.Settings.InjectNonPublic = true;
|
|
||||||
|
|
||||||
_kernel.Load<CoreModule>();
|
|
||||||
_kernel.Load<UIModule>();
|
|
||||||
_kernel.Load<SharedUIModule>();
|
|
||||||
|
|
||||||
_kernel.UseNinjectDependencyResolver();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,30 +0,0 @@
|
|||||||
<Application xmlns="https://github.com/avaloniaui"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:sty="using:FluentAvalonia.Styling"
|
|
||||||
xmlns:ui="clr-namespace:Artemis.UI"
|
|
||||||
x:Class="Artemis.UI.App">
|
|
||||||
<Application.DataTemplates>
|
|
||||||
<ui:ViewLocator />
|
|
||||||
</Application.DataTemplates>
|
|
||||||
|
|
||||||
<Application.Styles>
|
|
||||||
<!-- Third party styles -->
|
|
||||||
<sty:FluentAvaloniaTheme RequestedTheme="Dark" CustomAccentColor="#4db6ac" />
|
|
||||||
<StyleInclude Source="avares://Material.Icons.Avalonia/App.xaml" />
|
|
||||||
|
|
||||||
<!-- Grab the window styling from Avalonia -->
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/Window.xaml" />
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/TitleBar.xaml" />
|
|
||||||
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/CaptionButtons.xaml" />
|
|
||||||
|
|
||||||
<!-- Global styles -->
|
|
||||||
<StyleInclude Source="/Styles/Border.axaml" />
|
|
||||||
<StyleInclude Source="/Styles/Button.axaml" />
|
|
||||||
<StyleInclude Source="/Styles/TextBlock.axaml" />
|
|
||||||
<StyleInclude Source="/Styles/Sidebar.axaml" />
|
|
||||||
|
|
||||||
<!-- Shared styles -->
|
|
||||||
<!-- TODO: Make a single file-->
|
|
||||||
<StyleInclude Source="avares://Artemis.UI.Avalonia.Shared/Styles/InfoBar.axaml" />
|
|
||||||
</Application.Styles>
|
|
||||||
</Application>
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
using Artemis.Core.Ninject;
|
|
||||||
using Artemis.UI.Ninject;
|
|
||||||
using Artemis.UI.Screens.Root.ViewModels;
|
|
||||||
using Artemis.UI.Shared.Ninject;
|
|
||||||
using Avalonia;
|
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
|
||||||
using Avalonia.Markup.Xaml;
|
|
||||||
using Avalonia.Threading;
|
|
||||||
using FluentAvalonia.Styling;
|
|
||||||
using Ninject;
|
|
||||||
using ReactiveUI;
|
|
||||||
using Splat.Ninject;
|
|
||||||
|
|
||||||
namespace Artemis.UI
|
|
||||||
{
|
|
||||||
public class App : Application
|
|
||||||
{
|
|
||||||
private StandardKernel _kernel = null!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
|
||||||
{
|
|
||||||
InitializeNinject();
|
|
||||||
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
|
|
||||||
|
|
||||||
AvaloniaXamlLoader.Load(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnFrameworkInitializationCompleted()
|
|
||||||
{
|
|
||||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
||||||
{
|
|
||||||
desktop.MainWindow = new MainWindow
|
|
||||||
{
|
|
||||||
DataContext = _kernel.Get<RootViewModel>()
|
|
||||||
};
|
|
||||||
AvaloniaLocator.Current.GetService<FluentAvaloniaTheme>().ForceNativeTitleBarToTheme(desktop.MainWindow, "Dark");
|
|
||||||
}
|
|
||||||
|
|
||||||
base.OnFrameworkInitializationCompleted();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitializeNinject()
|
|
||||||
{
|
|
||||||
_kernel = new StandardKernel();
|
|
||||||
_kernel.Settings.InjectNonPublic = true;
|
|
||||||
|
|
||||||
_kernel.Load<CoreModule>();
|
|
||||||
_kernel.Load<UIModule>();
|
|
||||||
_kernel.Load<SharedUIModule>();
|
|
||||||
|
|
||||||
_kernel.UseNinjectDependencyResolver();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -8,6 +8,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AvaloniaResource Include="Assets\**" />
|
<AvaloniaResource Include="Assets\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="Artemis.UI.Avalonia.csproj.DotSettings" />
|
||||||
|
<None Remove="Artemis.UI.csproj.DotSettings" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.10" />
|
<PackageReference Include="Avalonia" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="4.2.0" />
|
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="4.2.0" />
|
||||||
|
|||||||
39
src/Avalonia/Artemis.UI/ArtemisBootstrapper.cs
Normal file
39
src/Avalonia/Artemis.UI/ArtemisBootstrapper.cs
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
using Artemis.Core.Ninject;
|
||||||
|
using Artemis.UI.Exceptions;
|
||||||
|
using Artemis.UI.Ninject;
|
||||||
|
using Artemis.UI.Screens.Root.ViewModels;
|
||||||
|
using Artemis.UI.Shared.Ninject;
|
||||||
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
|
using Ninject;
|
||||||
|
using Splat.Ninject;
|
||||||
|
|
||||||
|
namespace Artemis.UI
|
||||||
|
{
|
||||||
|
public static class ArtemisBootstrapper
|
||||||
|
{
|
||||||
|
private static StandardKernel? _kernel;
|
||||||
|
|
||||||
|
public static void Bootstrap()
|
||||||
|
{
|
||||||
|
if (_kernel != null)
|
||||||
|
throw new ArtemisUIException("UI already bootstrapped");
|
||||||
|
|
||||||
|
_kernel = new StandardKernel();
|
||||||
|
_kernel.Settings.InjectNonPublic = true;
|
||||||
|
|
||||||
|
_kernel.Load<CoreModule>();
|
||||||
|
_kernel.Load<UIModule>();
|
||||||
|
_kernel.Load<SharedUIModule>();
|
||||||
|
|
||||||
|
_kernel.UseNinjectDependencyResolver();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ConfigureApplicationLifetime(IClassicDesktopStyleApplicationLifetime applicationLifetime)
|
||||||
|
{
|
||||||
|
if (_kernel == null)
|
||||||
|
throw new ArtemisUIException("UI not yet bootstrapped");
|
||||||
|
|
||||||
|
applicationLifetime.MainWindow = new MainWindow {DataContext = _kernel.Get<RootViewModel>()};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/Avalonia/Artemis.UI/Styles/Artemis.axaml
Normal file
13
src/Avalonia/Artemis.UI/Styles/Artemis.axaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<Styles xmlns="https://github.com/avaloniaui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:styling="clr-namespace:FluentAvalonia.Styling;assembly=FluentAvalonia">
|
||||||
|
|
||||||
|
<!-- Third party styles -->
|
||||||
|
<styling:FluentAvaloniaTheme RequestedTheme="Dark" />
|
||||||
|
<StyleInclude Source="avares://Material.Icons.Avalonia/App.xaml" />
|
||||||
|
|
||||||
|
<!-- Grab the window styling from Avalonia -->
|
||||||
|
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/Window.xaml" />
|
||||||
|
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/TitleBar.xaml" />
|
||||||
|
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/CaptionButtons.xaml" />
|
||||||
|
</Styles>
|
||||||
Loading…
x
Reference in New Issue
Block a user