void AddFromDictionary(Dictionary <string, IEnumerable <string> > dict) { foreach (KeyValuePair <string, IEnumerable <string> > kvp in dict) { TreeViewItem section = RegexTitleTreeView.TreeViewItemWithHeader(kvp.Key); if (section == null) { section = new TreeViewItem() { Header = kvp.Key }; RegexTitleTreeView.Items.Add(section); System.Diagnostics.Debug.WriteLine($"AddingSection {kvp.Key}"); } foreach (string s in kvp.Value) { if (!section.ContainsChildHeader(s)) { System.Diagnostics.Debug.WriteLine($"Adding {kvp.Key}/{s}"); section.Items.Add(new TreeViewItem() { Header = s }); } else { System.Diagnostics.Debug.WriteLine($"Skip {kvp.Key}/{s}"); } } } RegexTitleTreeView.RefreshTextBoxes(); }
private void SaveToJsonFile_Click(object sender, RoutedEventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); dlg.DefaultExt = ".json"; // Default file extension dlg.Filter = "JSON files (.json)|*.json"; // Filter files by extension bool?result = dlg.ShowDialog(); if (result == true) { string fileName = dlg.FileName; Dictionary <string, IEnumerable <string> > dict = TreeModel <string> .LayerToDictionary(RegexTitleTreeView.SaveToTreeModel()); File.WriteAllText(fileName, Serializer.Serialize(dict)); } }