/// <summary> /// Instantiation of MainWindow /// </summary> public MainWindow() { s_Instance = this; InitializeComponent(); Events.SubscribeEvent("ThemeChanged", (Action)ThemeChangedEvent); ThemeManager.AddAccent("BaseAccent", new Uri("pack://application:,,,/Macro Editor;component/Themes/BaseAccent.xaml")); ThemeManager.ChangeAppStyle(this, ThemeManager.GetAccent("BaseAccent"), ThemeManager.GetAppTheme("BaseLight")); this.DataContextChanged += MainWindow_DataContextChanged; CommandBinding findCommand = new CommandBinding(ApplicationCommands.Find, (s, e) => { if (((MainWindowViewModel)DataContext).DockManager.ActiveDocument is TextualEditorViewModel) { FindReplaceDialog.ShowForFind((((MainWindowViewModel)DataContext).DockManager.ActiveDocument as TextualEditorViewModel).GetTextEditor()); } }); CommandBindings.Add(findCommand); CommandBinding searchCommand = new CommandBinding(NavigationCommands.Search, (s, e) => { if (((MainWindowViewModel)DataContext).DockManager.ActiveDocument is TextualEditorViewModel) { FindReplaceDialog.ShowForFind((((MainWindowViewModel)DataContext).DockManager.ActiveDocument as TextualEditorViewModel).GetTextEditor()); } }); CommandBindings.Add(searchCommand); CommandBinding replaceCommand = new CommandBinding(ApplicationCommands.Replace, (s, e) => { if (((MainWindowViewModel)DataContext).DockManager.ActiveDocument is TextualEditorViewModel) { FindReplaceDialog.ShowForReplace((((MainWindowViewModel)DataContext).DockManager.ActiveDocument as TextualEditorViewModel).GetTextEditor()); } }); CommandBindings.Add(replaceCommand); }
/// <summary> /// Thomas Willwacher /// </summary> /// <param name="editor"></param> /// <param name="index"></param> private static void ShowForType(TextEditor editor, int index) { if (theDialog == null) { theDialog = new FindReplaceDialog(editor); theDialog.tabMain.SelectedIndex = index; theDialog.Show(); theDialog.Activate(); } else { theDialog.tabMain.SelectedIndex = index; theDialog.Activate(); } if (!editor.TextArea.Selection.IsMultiline) { theDialog.txtFind.Text = theDialog.txtFind2.Text = editor.TextArea.Selection.GetText(); theDialog.txtFind.SelectAll(); theDialog.txtFind2.SelectAll(); theDialog.txtFind2.Focus(); } }