VaultSmpInstaller/Views/ProfileWindow1.axaml.cs

30 lines
1007 B
C#

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