using OwlCore.Extensions;
using StrixMusic.Sdk.ViewModels;
using StrixMusic.Shells.Groove.ViewModels.Pages;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace StrixMusic.Shells.Groove.Controls.Pages
{
///
/// A to display an .
///
public partial class GroovePlaylistsPage : Control
{
///
/// Initializes a new instance of the class.
///
public GroovePlaylistsPage()
{
DefaultStyleKey = typeof(GroovePlaylistsPage);
DataContext = new GroovePlaylistsPageViewModel();
}
///
/// The for the template.
///
public GroovePlaylistsPageViewModel ViewModel => (GroovePlaylistsPageViewModel)DataContext;
///
/// The playlist collection being displayed.
///
public IPlaylistCollectionViewModel? PlaylistCollection
{
get { return (IPlaylistCollectionViewModel)GetValue(PlaylistCollectionProperty); }
set { SetValue(PlaylistCollectionProperty, value); }
}
///
/// Backing dependency property for .
///
public static readonly DependencyProperty PlaylistCollectionProperty =
DependencyProperty.Register(nameof(PlaylistCollection), typeof(IPlaylistCollectionViewModel), typeof(GroovePlaylistsPage), new PropertyMetadata(null, (d,e) => d.Cast().OnPlaylistCollectionChanged()));
private void OnPlaylistCollectionChanged()
{
ViewModel.PlaylistCollection = PlaylistCollection;
}
}
}