Unplanned
Last Updated: 21 Jul 2026 10:43 by ADMIN
Created by: Robert
Comments: 1
Category: SyntaxEditor
Type: Bug Report
0

RadSyntaxEditor, while inside of a virtualized RadGridView, stealings focus immediately upon loading. It appears to do this automatically and there is no configuration to disabling. Meaning when scrolling in a RadGridView with virtualized rows, when a row with the RadSyntaxEditor materializes it will automatically steal focus from other elements.

This can be worked around using custom behavior that discards the first preview keyboard focus event that it receives.

private void onPreviewGotKeyboardFocus(object s, KeyboardFocusChangedEventArgs e)
{
    if (!this.SuppressAutoFocus || _wasFocusSuppressed)
    {
        return;
    }

    _wasFocusSuppressed = true;
    e.Handled = true;
}

The offending line of code is this in RadSyntaxEditor.InitActiveEditorPresenter:

if (flag)
{
    base.Dispatcher.BeginInvoke((Action)delegate
    {
        Focus();
    });
}

Request: Add a dependency property to allow opting-out of this default behavior. The above workaround works, but is a bit hacky for something that should probably be built-in.

Unplanned
Last Updated: 23 Jan 2026 12:23 by Martin Ivanov

The position of the popup representing the IntelliPrompt is wrong when shown on the monitor with the higher DPI scale, in a setup with two monitors with different DPI settings. For example, if one monitor has 100% DPI scale and the other 125%, the position of the popup will be wrong when the app is on the 125% monitor.

To work this around, use the Caret visual as the PlacementTarget for the popup and set its offsets to 0 after it is shown.

 private void RadSyntaxEditor_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
 {
     if (KeyboardModifiers.IsControlDown && e.Key == Key.Space)
     {		
        e.Handled = true;

		var editor = (RadSyntaxEditor)sender;
        CaretPosition startPosition = new CaretPosition(editor.CaretPosition);
        CaretPosition endPosition = new CaretPosition(editor.CaretPosition);
        editor.IntelliPrompts.CompletionListWindow.Show(startPosition, endPosition);
		editor.IntelliPrompts.CompletionListWindow.HorizontalOffset = 0;
		editor.IntelliPrompts.CompletionListWindow.VerticalOffset = 0;
     }
 }

 private void RadSyntaxEditor_Loaded(object sender, System.Windows.RoutedEventArgs e)
 {
    var editor = (RadSyntaxEditor)sender;
    var caret = editor.FindChildByType<Telerik.Windows.Controls.SyntaxEditor.UI.Caret>();
    editor.IntelliPrompts.CompletionListWindow.PlacementTarget = caret;
    editor.IntelliPrompts.CompletionListWindow.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
 }

Completed
Last Updated: 11 Nov 2025 08:11 by ADMIN
Release Telerik UI for WPF 2025.4.1111 (2025 Q4)
By default, when typing text in the RadSyntaxEditor and you reach the end of the viewport (horizontally or vertically), the control auto-scrolls so that the newly typed character is within the viewport. This behavior stops working after you zoom-in the editor.
Completed
Last Updated: 11 Nov 2025 08:11 by ADMIN
Release Telerik UI for WPF 2025.4.1111 (2025 Q4)

NullReferenceException thrown on opening the CompletionListWindow when RadSyntaxEditor is hosted in a non-WPF application (usually WinForms) and there are no WPF Application and MainWindow initialized. 

This can happen if the RadSyntaxEditor for WPF is hosted in a WinForms application. In this scenario the System.Windows.Application.Current and its MainWindow are not initialized, which is what the IntelliPrompt positioning logic relies on.

Exception details:

System.NullReferenceException: 'Object reference not set to an instance of an object.'
> Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.SetPosition(System.Windows.Point pointInScreen) Line 452 C#  Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.SetPosition(System.Windows.Point pointInEditorPresenter, System.Windows.Point pointAboveTheCaret) Line 442 C#  Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.SetPositionInView() Line 480 C#  Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.InitializeIntellisense() Line 401 C#  Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.Show(Telerik.Windows.Controls.SyntaxEditor.UI.CaretPosition caretStartPosition, Telerik.Windows.Controls.SyntaxEditor.UI.CaretPosition caretEndPositions) Line 211 C#
  Telerik.Windows.Controls.SyntaxEditor.dll!Telerik.Windows.Controls.SyntaxEditor.UI.IntelliPromptBase.Show() Line 182 C#

To work this around, you can initialize a new WPF application and MainWindow and create a hidden HwndSource for the MainWindow. This should happen before showing the WPF content in the WinForms application's code. 

 public Form1()
 {
     InitializeComponent();

     new System.Windows.Application();
     System.Windows.Application.Current.MainWindow = new System.Windows.Window();

     var parameters = new HwndSourceParameters("HiddenHost")
     {
         Width = 1, Height = 1,
         WindowStyle = unchecked((int)0x80000000) // WS_POPUP | WS_EX_NOACTIVATE
     };
     var hwndSource = new HwndSource(parameters);
     hwndSource.RootVisual = System.Windows.Application.Current.MainWindow;

      // other code here

     ElementHost host = new ElementHost { Dock = DockStyle.Fill };
     host.Child = wpfControl
     this.Controls.Add(host);
 }

Completed
Last Updated: 21 May 2025 07:52 by ADMIN
Release 2025.2.521 (2025 Q2)
The CSharpTagger matches the following character combination as a multiline comment start - / * (slash and a start with a whitespace between). This causes wrong tags creation in scenarios where the * character is a part of a single line comment. The correct comment start and end should be /* and */.

In the following example, the beginning of the first single line comment is considered a multiline comment start, but since nothing closes it, the entire text is tagged and colored as a comment.

// ***********************************************************************
// some other content here
// some other content here
// ***********************************************************************

public class TestClass
{
}

Unplanned
Last Updated: 13 Mar 2025 09:42 by Dariush
Steps to Reproduce:
--Install Bopomofo or Quick input method (Traditional Chinese).
--Open the Telerik SyntaxEditor in a WPF application.
--In any text input field, enter an Alt code (e.g., Alt+0160 for a non-breaking space).
--Attempt to type any Chinese characters immediately after entering the Alt code.

Current Behavior:
  -Bopomofo IME:
    -- The user cannot type any Chinese characters after entering an Alt code.
    -- Switching the language (e.g., pressing Shift) allows English input, but Chinese input remains blocked.

Quick IME:
   -The input method automatically switches to English after entering an Alt code.
   -The language indicator still shows Chinese, but characters typed are in English.
   T-o resume Chinese input, the user must click another text field, alt-tab to another window, then return.

Expected Behavior:
   -Users should be able to continue typing Chinese characters after entering Alt codes without needing to manually switch inputs.
   -The IME state should remain consistent, allowing uninterrupted input.
Unplanned
Last Updated: 28 Oct 2024 10:31 by Vladimir
When the EditorFontFamily is set to SegoeUI the RadSyntaxEditor can be placed over letters when changing it position.
Completed
Last Updated: 20 Jun 2023 06:04 by ADMIN
Release LIB 2023.2.619 (19 Jun 2023)
Searching "windows" in the text "Windows Windows Windows" with option MatchCase highlights all windows which is wrong - no highlight should be performed
Completed
Last Updated: 02 Jun 2023 08:39 by ADMIN
Release R2 2023
An exception is thrown when the RadSyntaxEditor is disabled with the Expression_Dark theme being applied with StyleManager.
Completed
Last Updated: 16 Mar 2023 05:55 by ADMIN
Release LIB 2023.1.320 (20 Mar 2023)

Single line folding regions is falsely recognized (by default it should be avoided) and messes up with outer regions.
For example
1 [

2 [ inner region]

3]

There should be no folding button on the inner line.  Collapsing line 1 does not collapse 3 but only 1 and 2 which is wrong.

Completed
Last Updated: 06 Mar 2023 15:23 by ADMIN
Release R1 2023 SP1
Enter key is improperly handled internally and this results in inability to use the key in combination with other modifier keys for custom commands.

For example this custom code completion command does not fire when pressing Ctrl + Enter:

        private void syntaxEditor_Loaded(object sender, RoutedEventArgs e)
        {
            var completionCommand = this.syntaxEditor.Commands.CodeCompletionCommand;
            InputBinding keyBinding = null;
            foreach (InputBinding item in this.syntaxEditor.EditorPresenter.Caret.InputBindings)
            {
                if (item.Command == completionCommand)
                {
                    keyBinding = item;
                    break;
                }
            }

            // unregister old key binding via Caret InputBindings
            this.syntaxEditor.EditorPresenter.Caret.InputBindings.Remove(keyBinding);

            // register new command in Syntaxeditor
            this.syntaxEditor.KeyBindings.RegisterCommand(completionCommand, Key.Enter, ModifierKeys.Control);
        }
Completed
Last Updated: 06 Mar 2023 15:04 by ADMIN
Release R1 2023 SP1
string link = "https:////_a_w_e_bsite.com" will falsely recognize a commented section and color it in CSharpTagger
Expected : no commented section and comment coloring in this code line
Completed
Last Updated: 18 Nov 2022 06:13 by ADMIN
Release LIB 2022.3.1121 (21 Nov 2022)
Big text with many lines or lines long enough to cover the viewport height when wrapped with word wrapping break the virtualization mechanism in RadSyntaxEditor. This makes the scrolling and resizing performance slow.
Declined
Last Updated: 09 Sep 2022 11:26 by ADMIN
The UI becomes irresponsive when using XmlFoldingTagger with a large XML file.
Completed
Last Updated: 18 Jul 2022 06:40 by ADMIN
Release LIB 2022.2.718 (18 July 2022)
Created by: Ayrton1981
Comments: 0
Category: SyntaxEditor
Type: Bug Report
0
The completion list appears transparent when the Material theme is applied.
Completed
Last Updated: 21 Apr 2022 14:03 by ADMIN
Release LIB 2022.1.207 (7 Feb 2022)
For example "//====" will not be commented in C#. 
Or "!====" wont' be commented in custom language if "!" is the commenting symbol.
The issue resides in the word splitting function in WordTaggerBase class.

Unplanned
Last Updated: 18 Nov 2021 10:32 by ADMIN

When using XML Tagger, XML Folding tagger with XML text document, the folding tagger freezes the UI while typing.
Generally in Visual Studio, the XML Folding tagger is processed in background while in SyntaxEditor this is done on the UI thread.
Several optimization options might be applied:

    - process xml folding in background

    - process folding similar to process search while typing - a period of inactivity time is needed to invalidate the search / folding

   - caching - if the edit does not change the folding configuration, no processing and redrawing of folding is required

  - some parts for extracting tooltip content and folded content should be optimized

Completed
Last Updated: 11 Oct 2021 14:28 by ADMIN
Release LIB 2021.3.1018 (18 Oct 2021)

When using LineHighlightTagger a NullReferenceException is thrown. To workaround this exception, you can add a custom TextFormatDefinition object to the TextFormatDefinitions collection of the RadSyntaxEditor.

this.syntaxEditor.TextFormatDefinitions.AddLast(LineHighlightTagger.LineHighlightFormatDefinition, new TextFormatDefinition(new Telerik.Windows.Controls.SyntaxEditor.UI.Pen(new SolidColorBrush(Colors.Gray), new Thickness(1))));

Completed
Last Updated: 05 May 2021 10:03 by Petar
Release LIB 2021.1.301 (1/03/2021)
In some cases the string values in the XML attributes are not colored with the expected color, but default to black.
 
This was reproduced when there is only single quotation mark on visible on the line. And also if the count of the visible quotation marks on the line is an odd number (not always reproducible). 

Completed
Last Updated: 22 Mar 2021 07:24 by ADMIN
Release LIB 2021.1.322

Shift + Alt + Down Selection then typing multiple characters results in all of them being typed in all selected lines.

Shift + Alt _ Down Selection then typing multiple characters results in only the first one being typed in all lines, then selection is lost and next chars are inserted in the last selected line only.

1 2