moer changes

This commit is contained in:
TheXamlGuy
2024-02-09 20:58:50 +00:00
parent 41d003f436
commit ecfac99868
39 changed files with 210 additions and 190 deletions
@@ -7,9 +7,8 @@ public partial class MediaButtonViewModel<TMediaButton>(IServiceProvider service
IServiceFactory serviceFactory,
IMediator mediator,
IDisposer disposer,
IViewModelTemplateFactory templateFactory,
IRelayCommand invokeCommand) :
WidgetComponentViewModel(serviceProvider, serviceFactory, mediator, disposer, templateFactory),
WidgetComponentViewModel(serviceProvider, serviceFactory, mediator, disposer),
INotificationHandler<Changed<MediaButton<TMediaButton>>>,
IMediaButtonViewModel
{
@@ -7,7 +7,7 @@
<ItemsControl
HorizontalAlignment="Right"
HorizontalContentAlignment="Right"
ItemTemplateSelector="{ui:ViewModelTemplate}"
ItemTemplateSelector="{Binding Template}"
ItemsSource="{x:Bind ViewModel}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
@@ -1,4 +1,5 @@
using CommunityToolkit.Mvvm.Input;
using Hyperbar.UI.Windows;
namespace Hyperbar.Widget.MediaController.Windows;
@@ -6,17 +7,17 @@ namespace Hyperbar.Widget.MediaController.Windows;
public class MediaControllerViewModel :
ObservableCollectionViewModel<WidgetComponentViewModel>
{
public MediaControllerViewModel(IViewModelTemplateFactory templateFactory,
public MediaControllerViewModel(IViewModelTemplate template,
IServiceProvider serviceProvider,
IServiceFactory serviceFactory,
IMediator mediator,
IDisposer disposer) : base(serviceProvider, serviceFactory, mediator, disposer)
{
TemplateFactory = templateFactory;
Template = template;
Add<MediaInformationViewModel>();
Add<MediaButtonViewModel<MediaPreviousButton>>(new RelayCommand(async () =>
Add<MediaButtonViewModel<MediaPreviousButton>>(new RelayCommand(async () =>
await mediator.PublishAsync<Request<MediaPrevious>>()));
Add<MediaButtonViewModel<MediaPlayPauseButton>>(new RelayCommand(async () =>
@@ -26,5 +27,5 @@ public class MediaControllerViewModel :
await mediator.PublishAsync<Request<MediaNext>>()));
}
public IViewModelTemplateFactory TemplateFactory { get; set; }
public IViewModelTemplate Template { get; }
}
@@ -2,10 +2,9 @@
<UserControl
x:Class="Hyperbar.Widget.MediaController.Windows.MediaControllerWidgetView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="using:Hyperbar.UI.Windows">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<FlipView
Width="360"
ItemTemplateSelector="{ui:ViewModelTemplate}"
ItemTemplateSelector="{Binding Template}"
ItemsSource="{Binding}" />
</UserControl>
@@ -1,6 +1,8 @@
namespace Hyperbar.Widget.MediaController.Windows;
using Hyperbar.UI.Windows;
public class MediaControllerWidgetViewModel(IViewModelTemplateFactory templateFactory,
namespace Hyperbar.Widget.MediaController.Windows;
public class MediaControllerWidgetViewModel(IViewModelTemplate template,
IServiceProvider serviceProvider,
IServiceFactory serviceFactory,
IMediator mediator,
@@ -9,5 +11,5 @@ public class MediaControllerWidgetViewModel(IViewModelTemplateFactory templateFa
ObservableCollectionViewModel<MediaControllerViewModel>(serviceProvider, serviceFactory, mediator, disposer, items),
IWidgetViewModel
{
public IViewModelTemplateFactory TemplateFactory => templateFactory;
public IViewModelTemplate Template => template;
}
@@ -5,9 +5,8 @@ namespace Hyperbar.Widget.MediaController.Windows;
public partial class MediaInformationViewModel(IServiceProvider serviceProvider,
IServiceFactory serviceFactory,
IMediator mediator,
IDisposer disposer,
IViewModelTemplateFactory templateFactory) :
WidgetComponentViewModel(serviceProvider, serviceFactory, mediator, disposer, templateFactory),
IDisposer disposer) :
WidgetComponentViewModel(serviceProvider, serviceFactory, mediator, disposer),
INotificationHandler<Changed<MediaInformation>>
{
[ObservableProperty]