private void OperatorButton_MouseUpHandler(object sender, MouseButtonEventArgs e) { var button = sender as Button; if (button == null) { return; } var contextMenu = new ContextMenu(); var item = new MenuItem { Header = "Duplicate" }; item.Click += (o, a) => UIHelper.DuplicateOperatorTypeWithDialog(MetaOp); contextMenu.Items.Add(item); contextMenu.Items.Add(new Separator()); item = new MenuItem { Header = "Run Tests" }; item.Click += (o, a) => { using (new Utils.SetWaitCursor()) { var result = TestUtilities.EvaluateTests(MetaOp.ID, ""); Logger.Info("Test results: " + result.Item2); } }; contextMenu.Items.Add(item); item = new MenuItem { Header = "Find Usages" }; item.Click += (o, a) => { using (new Utils.SetWaitCursor()) { App.Current.MainWindow.ListMetaOpUsages(MetaOp); } }; contextMenu.Items.Add(item); item = new MenuItem { Header = "Find Dependencies" }; item.Click += (o, a) => { using (new Utils.SetWaitCursor()) { App.Current.MainWindow.ListMetaOpDependencies(MetaOp); } }; contextMenu.Items.Add(item); button.ContextMenu = contextMenu; }