private void MenuItem_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (e.Source is MenuItem) { FrameworkElement node = (FrameworkElement)e.Source; string path = ""; // collect selected object reflection path while (node != null && !(node is Popup)) { path = node.Tag.ToString() + "," + path; node = (FrameworkElement)node.Parent; } OverrideRule newRule = OverrideRule.Create(CurrentLib, path.TrimEnd(',')); if (newRule != null) { AllOverrides.Add(newRule); lbxOverrideRules.SelectedItem = newRule; AllOverrides.ToList().Pack(ioPathRuleOverrides); } } if (sender is ContextMenu) { (sender as ContextMenu).IsOpen = false; } }
private void btnOverridesSaveRule_Click(object sender, RoutedEventArgs e) { if (lbxOverrideRules.SelectedItem != null) { OverrideRule rule = (OverrideRule)lbxOverrideRules.SelectedItem; rule.jsonValue = tbxOverridesEditor.Text; rule.notes = tbxOverrideEditorNotes.Text; AllOverrides.ToList().Pack(ioPathRuleOverrides); } }
private void btnOverrideRuleDelete_Click(object sender, RoutedEventArgs e) { int ci = lbxOverrideRules.SelectedIndex; if (ci != -1) { AllOverrides.RemoveAt(ci); if (ci < AllOverrides.Count) { lbxOverrideRules.SelectedIndex = ci; } AllOverrides.ToList().Pack(ioPathRuleOverrides); } }