30 lines
835 B
C#
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;
|
|
}
|
|
} |