Example #1
0
        private static MenuFlyout SetMenu(Func <MenuFlyoutHelper, MenuFlyout> GetMenu, object sender, IMenuFlyoutHelperBuildListener buildListener = null)
        {
            MenuFlyout       flyout;
            MenuFlyoutHelper helper;
            object           data;

            if (sender is MenuFlyout)
            {
                flyout = sender as MenuFlyout;
                data   = flyout.Target.DataContext;
                flyout.Items.Clear();
            }
            else
            {
                flyout = new MenuFlyout();
                data   = (sender as FrameworkElement).DataContext;
            }
            helper = new MenuFlyoutHelper()
            {
                Data = FindMusic(data),
                DefaultPlaylistName = Settings.settings.FindNextPlaylistName(FindPlaylistName(data))
            };
            buildListener?.OnBuild(helper);
            var items = GetMenu(helper).Items;

            flyout.Items.Clear();
            foreach (var item in items)
            {
                flyout.Items.Add(item);
            }
            return(flyout);
        }
Example #2
0
 public static MenuFlyout SetMusicMenu(object sender, IMenuFlyoutItemClickListener clickListener = null, IMenuFlyoutHelperBuildListener buildListener = null, MenuFlyoutOption option = null)
 {
     return(SetMenu(helper => helper.GetMusicMenuFlyout(clickListener, option), sender, buildListener));
 }