using Avalonia; using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Markup.Xaml; using Avalonia.Media; using System.Windows.Input; namespace InABox.Avalonia.Components; public partial class ListViewButton : TemplatedControl { public static readonly StyledProperty ImageProperty = AvaloniaProperty.Register(nameof(Image), null); public static readonly StyledProperty TitleProperty = AvaloniaProperty.Register(nameof(Title), ""); public static readonly StyledProperty DescriptionProperty = AvaloniaProperty.Register(nameof(Description), ""); public static readonly StyledProperty AlertProperty = AvaloniaProperty.Register(nameof(Alert), ""); public IImage? Image { get => GetValue(ImageProperty); set => SetValue(ImageProperty, value); } public string Title { get => GetValue(TitleProperty); set => SetValue(TitleProperty, value); } public string Description { get => GetValue(DescriptionProperty); set => SetValue(DescriptionProperty, value); } public string Alert { get => GetValue(AlertProperty); set => SetValue(AlertProperty, value); } public static readonly StyledProperty CommandParameterProperty = AvaloniaProperty.Register(nameof(CommandParameter), null); public object? CommandParameter { get => GetValue(CommandParameterProperty); set => SetValue(CommandParameterProperty, value); } public static readonly StyledProperty CommandProperty = AvaloniaProperty.Register(nameof(Command), null); public ICommand? Command { get => GetValue(CommandProperty); set => SetValue(CommandProperty, value); } }