Added application session services, along with initial restore and tracker implementations.
This commit is contained in:
@@ -17,6 +17,20 @@ public sealed partial class PlaylistsView : UserControl
|
||||
_viewModel = (PlaylistsViewModel)DataContext;
|
||||
_viewModel.PropertyChanging += OnViewModelPropertyChanging;
|
||||
_viewModel.PropertyChanged += OnViewModelPropertyChanged;
|
||||
|
||||
PlaylistsListView.ContainerContentChanging += OnContainerContentChanging;
|
||||
}
|
||||
|
||||
private void OnContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args)
|
||||
{
|
||||
if (args.InRecycleQueue || args.ItemContainer is not ListViewItem listViewItem)
|
||||
return;
|
||||
|
||||
PlaylistItemStyle style = ReferenceEquals(args.Item, _viewModel.ActivePlaylist)
|
||||
? PlaylistItemStyle.Selected
|
||||
: PlaylistItemStyle.Normal;
|
||||
|
||||
UpdateListViewItemStyle(listViewItem, style);
|
||||
}
|
||||
|
||||
private void OnViewModelPropertyChanging(object? sender, PropertyChangingEventArgs e)
|
||||
@@ -41,11 +55,14 @@ public sealed partial class PlaylistsView : UserControl
|
||||
|
||||
private void UpdateListViewItemStyle(PlaylistItemStyle style)
|
||||
{
|
||||
ListViewItem listViewItem = (ListViewItem)PlaylistsListView.ContainerFromItem(_viewModel.ActivePlaylist);
|
||||
|
||||
if (listViewItem is null)
|
||||
if (PlaylistsListView.ContainerFromItem(_viewModel.ActivePlaylist) is not ListViewItem listViewItem)
|
||||
return;
|
||||
|
||||
UpdateListViewItemStyle(listViewItem, style);
|
||||
}
|
||||
|
||||
private void UpdateListViewItemStyle(ListViewItem listViewItem, PlaylistItemStyle style)
|
||||
{
|
||||
FrameworkElement? frameworkElement = TryGetFrameworkElement(listViewItem, "PlaylistListViewItem");
|
||||
|
||||
if (frameworkElement == null)
|
||||
|
||||
Reference in New Issue
Block a user