using Avalonia.Media;
using ReactiveUI;
namespace DesertPaintCodex.ViewModels
{
public class MessageBoxViewModel : ViewModelBase
{
private string? _title;
public string? Title { get => _title; private set => this.RaiseAndSetIfChanged(ref _title, value); }
private string? _message;
public string? Message { get => _message; private set => this.RaiseAndSetIfChanged(ref _message, value); }
private string? _optionAText;
public string? OptionAText { get => _optionAText; private set => this.RaiseAndSetIfChanged(ref _optionAText, value); }
private string? _optionBText;
public string? OptionBText { get => _optionBText; private set => this.RaiseAndSetIfChanged(ref _optionBText, value); }
private string? _optionCText;
public string? OptionCText { get => _optionCText; private set => this.RaiseAndSetIfChanged(ref _optionCText, value); }
public MessageBoxViewModel() : this("A Message For You", "This is a test message for use in developer mode", "Ok") {}
public MessageBoxViewModel(string title, string message, string optionA, string? optionB = null, string? optionC = null)
{
Title = title;
Message = message;
PickOption = ReactiveCommand.Create((string value) => int.Parse(value));
OptionAText = optionA;
OptionBText = optionB;
OptionCText = optionC;
}
public ReactiveCommand<string, int> PickOption { get; }
}
}