Files
Toolkit2/Toolkit.Avalonia/TopLevelProvider.cs
T
TheXamlGuy 93c7a43ab4 Codemaid
2024-07-17 21:43:58 +01:00

30 lines
835 B
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
namespace Toolkit.Avalonia;
public class TopLevelProvider :
ITopLevelProvider
{
public TopLevel? Get()
{
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime classicDesktopStyleApplication)
{
if (TopLevel.GetTopLevel(classicDesktopStyleApplication.MainWindow) is TopLevel topLevel)
{
return topLevel;
}
}
if (Application.Current?.ApplicationLifetime is ISingleViewApplicationLifetime singleViewApplication)
{
if (TopLevel.GetTopLevel(singleViewApplication.MainView) is TopLevel topLevel)
{
return topLevel;
}
}
return default;
}
}