Files
Hyperbar/Hyperbar.Widget.MediaController.Windows/MediaControllerViewModel.cs
T
TheXamlGuy 565c6866d8 wip
2024-02-10 20:19:01 +00:00

32 lines
1.2 KiB
C#

using CommunityToolkit.Mvvm.Input;
using Hyperbar.UI.Windows;
namespace Hyperbar.Widget.MediaController.Windows;
[NotificationHandler(nameof(MediaControllerViewModel))]
public class MediaControllerViewModel :
ObservableCollectionViewModel<WidgetComponentViewModel>
{
public MediaControllerViewModel(IViewModelTemplate template,
IServiceProvider serviceProvider,
IServiceFactory serviceFactory,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer) : base(serviceProvider, serviceFactory, publisher, subscriber, disposer)
{
Template = template;
Add<MediaInformationViewModel>();
Add<MediaButtonViewModel<MediaPreviousButton>>(new RelayCommand(async () =>
await publisher.PublishAsync<Request<MediaPrevious>>()));
Add<MediaButtonViewModel<MediaPlayPauseButton>>(new RelayCommand(async () =>
await publisher.PublishAsync<Request<MediaPlayPause>>()));
Add<MediaButtonViewModel<MediaNextButton>>(new RelayCommand(async () =>
await publisher.PublishAsync<Request<MediaNext>>()));
}
public IViewModelTemplate Template { get; }
}