21 lines
529 B
C#
21 lines
529 B
C#
using Avalonia;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace BetterRaid.Extensions;
|
|
|
|
public static class DataContextExtensions
|
|
{
|
|
public static T? GetDataContextAs<T>(this T obj) where T : StyledElement
|
|
{
|
|
return obj.DataContext as T;
|
|
}
|
|
|
|
public static void InjectDataContext<T>(this StyledElement e) where T : class
|
|
{
|
|
if (App.ServiceProvider == null)
|
|
return;
|
|
|
|
var vm = App.ServiceProvider.GetRequiredService<T>();
|
|
e.DataContext = vm;
|
|
}
|
|
} |