using System; using System.Threading.Tasks; using Avalonia.ReactiveUI; using ReactiveUI; using VaultSmpInstaller.ViewModels; namespace VaultSmpInstaller.Views; public partial class ProfileWindow1 : ReactiveWindow { public ProfileWindow1() { InitializeComponent(); this.WhenActivated(d => d(ViewModel!.UseCurseforgeCommand.Subscribe(Close))); this.WhenActivated(d => d(ViewModel!.UsePrismCommand.Subscribe(Close))); this.WhenActivated(d => d(ViewModel!.UseOverwolfCommand.Subscribe(Close))); this.WhenActivated(action => action(ViewModel!.ShowProfileSelectionDialog.RegisterHandler(DoShowDialogAsync))); } private async Task DoShowDialogAsync(InteractionContext interaction) { var dialog = new ProfileWindow2(); dialog.DataContext = interaction.Input; var result = await dialog.ShowDialog(this); interaction.SetOutput(result); } }