using CommunityToolkit.Mvvm.Input; namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerViewModel : ObservableCollectionViewModel, ITemplatedViewModel { public MediaControllerViewModel(ITemplateFactory templateFactory, IServiceFactory serviceFactory, IMediator mediator, IDisposer disposer) : base(serviceFactory, mediator, disposer) { TemplateFactory = templateFactory; Add(); Add(PlaybackButtonType.Previous, "Previous", "\uEB9E", new RelayCommand(async () => await mediator.PublishAsync())); Add(PlaybackButtonType.Play, "Play", "\uE768", new RelayCommand(async () => await mediator.PublishAsync())); Add(PlaybackButtonType.Pause, "Pause", "\uE769", new RelayCommand(async () => await mediator.PublishAsync())); Add(PlaybackButtonType.Forward, "Forward", "\uEB9D", new RelayCommand(async () => await mediator.PublishAsync())); } public ITemplateFactory TemplateFactory { get; set; } }