private void CreateTextViewHost(string text, string filePath) { if (text == null) { text = string.Empty; } var diskBuffer = TextBufferFactoryService.CreateTextBuffer(text, ContentType); _editorIntance = EditorInstanceFactory.CreateEditorInstance(diskBuffer, _compositionService); ITextDataModel textDataModel; if (_editorIntance != null) { textDataModel = new TextDataModel(diskBuffer, _editorIntance.ViewBuffer); } else { textDataModel = new TextDataModel(diskBuffer, diskBuffer); } var textBuffer = textDataModel.DocumentBuffer; TextDocument = TextDocumentFactoryService.CreateTextDocument(textBuffer, filePath); SetGlobalEditorOptions(); var textView = TextEditorFactoryService.CreateTextView(textDataModel, new DefaultTextViewRoleSet(), GlobalOptions); _wpftextViewHost = TextEditorFactoryService.CreateTextViewHost(textView, true); ApplyDefaultSettings(); _contentControl.Content = _wpftextViewHost.HostControl; var baseController = new BaseController(); BaseController = baseController; if (_editorIntance != null) { CommandTarget = _editorIntance.GetCommandTarget(textView); var controller = CommandTarget as Microsoft.Languages.Editor.Controller.Controller; controller.ChainedController = baseController; } else { CommandTarget = baseController; } baseController.Initialize(textView, EditorOperations, UndoManager, _coreShell); }