Beispiel #1
0
        private void List_OnMouseRightButtonUp(object sender, MouseButtonEventArgs e)
        {
            ContextMenu menu = new ContextMenu();

            var deleteBtn = new MenuItem();

            deleteBtn.Header = "Remove Selected";
            if (list.SelectedIndex == -1)
            {
                deleteBtn.IsEnabled = false;
            }

            deleteBtn.Click += (o, args) =>
            {
                effects.RemoveAt(list.SelectedIndex);
                Redraw();
            };

            var addBtn = new MenuItem();

            addBtn.Header = "Add Effect";
            addBtn.Click += async(o, args) =>
            {
                effects.Add(await EfxAddWindow.GetEffect());
                Redraw();
            };

            menu.Items.Add(addBtn);
            menu.Items.Add(deleteBtn);

            menu.Placement = PlacementMode.MousePoint;
            menu.IsOpen    = true;
        }
        public static Task <EffectModel> GetEffect()
        {
            EfxAddWindow win = new EfxAddWindow();

            win.Show();
            win.task = new TaskCompletionSource <EffectModel>();

            return(win.task.Task);
        }