using Avalonia.Controls; using LehrerApp.Desktop.ViewModels.Groups; using Microsoft.Extensions.DependencyInjection; namespace LehrerApp.Desktop.Views.Groups; public partial class GroupListView : UserControl { public GroupListView() => InitializeComponent(); protected override void OnDataContextChanged(EventArgs e) { base.OnDataContextChanged(e); if (DataContext is GroupListViewModel vm) vm.OnAddGroup = ShowAddGroupDialog; } private async Task ShowAddGroupDialog() { var dialogVm = App.Services.GetRequiredService(); var dialog = new AddGroupDialog { DataContext = dialogVm }; var owner = TopLevel.GetTopLevel(this) as Window; if (owner is not null) await dialog.ShowDialog(owner); } }