add ThemeHelper
This commit is contained in:
9
Pilz.UI.Telerik/Theming/ApplicationTheme.cs
Normal file
9
Pilz.UI.Telerik/Theming/ApplicationTheme.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace Pilz.UI.Telerik.Theming;
|
||||||
|
|
||||||
|
public enum ApplicationTheme
|
||||||
|
{
|
||||||
|
Auto,
|
||||||
|
Light,
|
||||||
|
Dark,
|
||||||
|
Gray,
|
||||||
|
}
|
||||||
30
Pilz.UI.Telerik/Theming/ThemeHelper.cs
Normal file
30
Pilz.UI.Telerik/Theming/ThemeHelper.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using Telerik.WinControls;
|
||||||
|
|
||||||
|
namespace Pilz.UI.Telerik.Theming;
|
||||||
|
|
||||||
|
public static class ThemeHelper
|
||||||
|
{
|
||||||
|
public static void ApplyApplicationTheme(ApplicationTheme theme, Func<RadThemeComponentBase> getLightTheme, Func<RadThemeComponentBase> getDarkTheme)
|
||||||
|
{
|
||||||
|
ApplyApplicationTheme(theme, getLightTheme, getDarkTheme, getDarkTheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ApplyApplicationTheme(ApplicationTheme theme, Func<RadThemeComponentBase> getLightTheme, Func<RadThemeComponentBase> getDarkTheme, Func<RadThemeComponentBase> getGrayTheme)
|
||||||
|
{
|
||||||
|
ThemeResolutionService.ApplicationThemeName = GetThemeName(theme, getLightTheme, getDarkTheme, getGrayTheme).ThemeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RadThemeComponentBase GetThemeName(ApplicationTheme theme, Func<RadThemeComponentBase> getLightTheme, Func<RadThemeComponentBase> getDarkTheme, Func<RadThemeComponentBase> getGrayTheme)
|
||||||
|
{
|
||||||
|
RadThemeComponentBase? themeToUse;
|
||||||
|
|
||||||
|
if (theme == ApplicationTheme.Light || theme == ApplicationTheme.Auto && WindowsSettings.AppsUseLightTheme)
|
||||||
|
themeToUse = getLightTheme();
|
||||||
|
else if (theme == ApplicationTheme.Dark || theme == ApplicationTheme.Auto && !WindowsSettings.AppsUseLightTheme)
|
||||||
|
themeToUse = getDarkTheme();
|
||||||
|
else /*if (CoreSettings.AppTheme == ApplicationTheme.Gray)*/
|
||||||
|
themeToUse = getGrayTheme();
|
||||||
|
|
||||||
|
return themeToUse;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user