using CommunityToolkit.Mvvm.ComponentModel; using StrixMusic.Sdk.AppModels; using StrixMusic.Sdk.ViewModels; namespace StrixMusic.Shells.Groove.Controls.Collections { /// /// A single track with additional properties needed for using inside an items template. /// /// /// This class was needed to access the context inside of a data template. /// /// The context is not available on the SDK view models yet because each track is treated as the same instance, /// and so it can't yet track the context of a single track. /// public class GrooveTrackViewModel : ObservableObject { /// /// Creates a new instance of . /// public GrooveTrackViewModel(ITrackCollectionViewModel context, ITrack track) { Context = context; Track = track; } /// /// The playback context of the . /// public ITrackCollectionViewModel Context { get; } /// /// The relevant track. /// public ITrack Track { get; } } }