private void AssociatedObjectOnMouseRightButtonUp(object sender, MouseButtonEventArgs mouseButtonEventArgs) { var element = sender as FrameworkElement; if (element != null) { var eventAggregator = ServiceLocator.Current.TryResolve <IEventAggregator>(); var commandBar = new CommandBar(); var payload = new ArtistRelatedCommandBarPayload(ArtistName, commandBar); element.ContextMenu = new CommandBarContextMenu { DataContext = commandBar }; eventAggregator.GetEvent <BuildArtistRelatedCommandBarEvent>().Publish(payload); } }
private void OnBuildArtistRelatedCommandBar(ArtistRelatedCommandBarPayload payload) { payload.CommandBar.AddCommand( new CommandModel { Content = "Browse", Command = new DelegateCommand <string>(ExecuteBrowseForArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Search.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Play", Command = new DelegateCommand <string>(ExecutePlayArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Play.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Queue", Command = new DelegateCommand <string>(ExecuteQueueArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Add.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Start radio", Command = new DelegateCommand <string>(ExecuteStartArtistRadio), CommandParameter = payload.ArtistName }); payload.CommandBar.AddCommand( new CommandModel { Content = "Find similar artists", Command = new DelegateCommand <string>(ExecuteBrowseForSimilarArtists), CommandParameter = payload.ArtistName }); }
private void OnBuildArtistRelatedCommandBar(ArtistRelatedCommandBarPayload payload) { payload.CommandBar.AddCommand( new CommandModel { Content = "Browse", Command = new DelegateCommand<string>(ExecuteBrowseForArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Search.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Play", Command = new DelegateCommand<string>(ExecutePlayArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Play.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Queue", Command = new DelegateCommand<string>(ExecuteQueueArtist), CommandParameter = payload.ArtistName, Icon = AppIcons.Add.ToImage() }); payload.CommandBar.AddCommand( new CommandModel { Content = "Start radio", Command = new DelegateCommand<string>(ExecuteStartArtistRadio), CommandParameter = payload.ArtistName }); payload.CommandBar.AddCommand( new CommandModel { Content = "Find similar artists", Command = new DelegateCommand<string>(ExecuteBrowseForSimilarArtists), CommandParameter = payload.ArtistName }); }