Files
Toolkit2/Toolkit.Avalonia/TopLevelProvider.cs
T
2024-06-28 21:03:56 +01:00

31 lines
836 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;
}
}