public void UpdateSkin(SkinType skin) { CurrentSkin = skin; SharedResourceDictionary.SharedDictionaries.Clear(); Resources.MergedDictionaries.Add(ResourceHelper.GetSkin(skin)); Resources.MergedDictionaries.Add(new Win.ResourceDictionary { Source = new Uri("pack://application:,,,/HandyControl;component/Themes/Theme.xaml") }); this?.OnApplyTemplate(); foreach (TabItem doc in TabsNav.Items) { CodeEditorFactory.SetEditorSkin((ICSharpCode.AvalonEdit.TextEditor)doc.Content, skin); } }
private void OpenFile_Click(object sender, Win.RoutedEventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Poly Code File|*.poly|Any File|*.*"; if (dlg.ShowDialog() == true) { TabItem tab = new TabItem(); tab.Closed += delegate(object csender, EventArgs ce) { TabItem ltab = (TabItem)csender; WriteFile(((DocumentTag)ltab.Tag).DocumentLocation, ((ICSharpCode.AvalonEdit.TextEditor)ltab.Content).Text); }; tab.Header = new FileInfo(dlg.FileName).Name; tab.Tag = new DocumentTag(dlg.FileName); tab.Content = CodeEditorFactory.CreateEditor(File.ReadAllText(dlg.FileName), CurrentSkin); TabsNav.Items.Add(tab); TabsNav.SelectedItem = tab; } }