Plix/PlixP/Views/Dialogs/GenresDialog.xaml.cs

40 lines
1.3 KiB
C#

using System;
using System.Windows.Controls;
using System.Windows.Input;
using HandyControl.Controls;
using HandyControl.Interactivity;
using PlixP.Repositories.Contracts;
using PlixP.Services.Contracts;
using PlixP.ViewModels;
using Card = MaterialDesignThemes.Wpf.Card;
namespace PlixP.Views.Dialogs
{
/// <summary>
/// Interaction logic for GenresDialog
/// </summary>
public partial class GenresDialog : UserControl
{
public event EventHandler<string> GenreSelected;
public GenresDialog(IServiceWrapper serviceWrapper,IRepositoryWrapper repositoryWrapper)
{
var viewModel = new GenresDialogViewModel(serviceWrapper, repositoryWrapper);
DataContext = viewModel;
viewModel.GenreSelected += ((model, genre) =>
{
GenreSelected?.Invoke(model,genre);
ControlCommands.Close.Execute(this,this);
});
InitializeComponent();
}
private void GenreItem_OnMouseDown(object sender, MouseButtonEventArgs e)
{
if(sender is Card card && card.DataContext is GenreItemModel model && DataContext is GenresDialogViewModel viewModel)
viewModel.GenreSelectCommand.Execute(model);
}
}
}