Libation/Source/LibationAvalonia/AvaloniaUtils.cs
2022-12-16 21:08:11 -07:00

24 lines
646 B
C#

using Avalonia.Controls;
using Avalonia.Media;
using Avalonia.Threading;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace LibationAvalonia
{
internal static class AvaloniaUtils
{
public static IBrush GetBrushFromResources(string name)
=> GetBrushFromResources(name, Brushes.Transparent);
public static IBrush GetBrushFromResources(string name, IBrush defaultBrush)
{
if (App.Current.Styles.TryGetResource(name, out var value) && value is IBrush brush)
return brush;
return defaultBrush;
}
public static Window GetParentWindow(this IControl control) => control.VisualRoot as Window;
}
}