using Avalonia; using Avalonia.Controls; using Microsoft.Extensions.DependencyInjection; namespace BetterRaid.Extensions; public static class DataContextExtensions { public static T? GetDataContextAs(this T obj) where T : StyledElement { return obj.DataContext as T; } public static void InjectDataContext(this StyledElement e) where T : class { if (Application.Current is not App { Provider: not null } app) return; var vm = app.Provider.GetRequiredService(); e.DataContext = vm; } }