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); }