using StrixMusic.Sdk.ViewModels;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace StrixMusic.Shells.ZuneDesktop.Controls.Views.Collection
{
///
/// A control that shows the properties of a Playlist.
///
public sealed partial class PlaylistDetailsPane : UserControl
{
///
/// Initializes a new instance of the class.
///
public PlaylistDetailsPane()
{
this.InitializeComponent();
Loaded += PlaylistDetailsPane_Loaded;
}
private PlaylistViewModel? ViewModel => DataContext as PlaylistViewModel;
private void PlaylistDetailsPane_Loaded(object sender, RoutedEventArgs e)
{
Loaded -= PlaylistDetailsPane_Loaded;
AttachHandlers();
}
private void AttachHandlers()
{
Unloaded += PlaylistDetailsPane_Unloaded;
DataContextChanged += PlaylistDetailsPane_DataContextChanged;
}
private void PlaylistDetailsPane_DataContextChanged(DependencyObject sender, DataContextChangedEventArgs args)
{
this.Bindings.Update();
}
private void PlaylistDetailsPane_Unloaded(object sender, RoutedEventArgs e)
{
DetachHandlers();
}
private void DetachHandlers()
{
Unloaded -= PlaylistDetailsPane_Unloaded;
DataContextChanged -= PlaylistDetailsPane_DataContextChanged;
}
}
}