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 PickOption { get; } } }