Completed
Last Updated: 21 May 2025 07:52 by ADMIN
Release 2025.2.521 (2025 Q2)
Having a table, for example, with empty cells, executing the TabBackwardsCommand does not move the caret to the previous cell of the row.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

A SocketException can occur when the ImageInline source is assigned to a link pointing to a picture on a remote server (a website). For example: UriSource ="https://docs.telerik.com/devtools/wpf/knowledge-base/images/kb-chartview-categorical-and-datetime-axis-0.png"

This could happen during the fetching of the image stream. In some cases, the server may give a NetworkStream or ConnectionStream, or similar Stream implementation, which keeps an open connection between the application and the server. If the connection get severed during the stream reading, an exception is thrown. 

The exception message is: "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."

The stacktrace is:

Exception Info: System.Net.Sockets.SocketException
  at System.Net.Sockets.NetworkStream.Read(Byte[], Int32, Int32)
Inner Exception:
Exception Info: System.IO.IOException
  at System.Net.ConnectStream.Read(Byte[], Int32, Int32)
  at System.IO.Stream.InternalCopyTo(System.IO.Stream, Int32)
  at Telerik.Windows.Documents.Layout.ExtensionMethods.ToMemoryStream(System.IO.Stream)
  at Telerik.Windows.Documents.Model.ImageInline.<SetStreamFromUriSource>b__0(System.Object, StreamReadyEventArgs)
  at Telerik.Windows.Documents.Utils.ResourceStreamLocator.OnStreamReady()
  at System.Net.WebClient.OnOpenReadCompleted(System.Net.OpenReadCompletedEventArgs)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
  at System.Windows.Threading.DispatcherOperation.InvokeImpl()
  at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
  at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
  at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
  at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
  at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
  at System.Windows.Threading.DispatcherOperation.Invoke()
  at System.Windows.Threading.Dispatcher.ProcessQueue()
  at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
  at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
  at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
  at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
  at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
  at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
  at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
  at System.Windows.Application.RunDispatcher(System.Object)
  at System.Windows.Application.RunInternal(System.Windows.Window)

Unplanned
Last Updated: 24 Jan 2025 17:15 by Martin Ivanov

When the exported document contains a very precise indent values, these are saved using scientific notation, which is unsupported in MS Word. Opening the file in Word results in the following error: "Word experienced an error trying to open the file."

Image

Here is an example of the troublesome setting in the body of the produced document:

<w:ind w:firstLine="6.420405952667352E-06" w:left="76.53543090820312" w:right="0" />

To work this around, you can open the exported document with the WordsProcessing library. This will give you a RadFlowDocument object which then can be exported to a file again. This will save the indent values properly in the new document.

 var dplProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
 using (var inputStream = File.OpenRead("../../../originalFile.docx"))
 {
     Telerik.Windows.Documents.Flow.Model.RadFlowDocument flowDoc = dplProvider.Import(inputStream, TimeSpan.FromSeconds(5));
     using (var outputStream = File.OpenWrite("../../../convertedFile.docx"))
     {
         dplProvider.Export(flowDoc, outputStream, TimeSpan.FromSeconds(5));
     }
 }


Or if you use the RichTextBox document model only to create documents in code (without using the RadRichTextBox control), you can replace the code with the WordsProcessing API.


Unplanned
Last Updated: 11 Feb 2025 09:51 by Stenly
Created by: Stenly
Comments: 0
Category: RichTextBox
Type: Feature Request
0
Currently, the AdjustShape method of RadRichTextBox is internal, which contradicts with the information in the documentation. We could expose this method, as well as its related API.
Unplanned
Last Updated: 11 Feb 2025 12:34 by Stenly
Created by: Stenly
Comments: 0
Category: RichTextBox
Type: Feature Request
0
The "Borders and Shading" dialog of MS Word allows you to specify a shader, which is currently not available as a functionality in the RadRichTextBox control. We could include such an option.

Image
In Development
Last Updated: 09 Oct 2025 06:06 by ADMIN

Document exported to DOCX with 2025 Q2 cannot be opened by 2025 Q1 or previous versions.

 

Workaround: Use document processing to fix the document.

var processing_provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();

var document = processing_provider.Import(File.ReadAllBytes("C:\\Users\\test\\Downloads\\word1.docx"),null);
var bytes_ = processing_provider.Export(document, null);

var rtb_provider = new Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider();
var doc = rtb_provider.Import(bytes_);
radRichTextBox.Document = doc;

Declined
Last Updated: 18 Jun 2025 12:51 by ADMIN

Can be reproduced in the demo:

  • Open the default document in the radrichtextbox demo
  • Activate change tracking (button "Track Changes")
  • Make a modification to the document (delete a paragraph)
  • Hover your mouse over the delete text: the date in the revision info. has always ":00" for the seconds

In our processes, it is very important to know if a change happened before or after another action. If all the revisions have zero seconds, it's impossible to determine the order of the changes when they happened in the same minute.

This is not a new bug introduce in SP2: it was there in SP1.

Unplanned
Last Updated: 10 Jul 2025 11:13 by Swapnil
The \page tag is not respected on import. We should insert new lien o a page break.
Unplanned
Last Updated: 16 Jul 2025 08:52 by UNAI
Tables lose their preferred width after changing the field display mode to name.
Completed
Last Updated: 12 Aug 2025 10:30 by ADMIN
Release 2025.3.812 (2025 Q3)
Performing selection on spans, some of which are present in a list, does not allow for including all of them in the list. Instead, the current list will have to be removed and reapplied to all selected spans.
Unplanned
Last Updated: 17 Oct 2025 08:36 by ADMIN
Created by: Swapnil
Comments: 1
Category: RichTextBox
Type: Feature Request
0

Bold/Italic does not work for some font styles.

This might be a framework limitation in WPF: https://www.telerik.com/forums/some-fonts-are-not-able-to-bold-italic

Sample fonts list:

  1. Tw Cen MT Condensed Extra Bold (bold/italic)
  2. Tw Cen MT Condensed (bold/italic)
  3. Sitka Text Semibold (italic)
  4. Sitka Subheading Semibold (italic)
  5. Sitka Small Semibold (italic)
  6. Sitka Heading Semibold (italic)
  7. Sitka Display Semibold (italic)
  8. Sitka Banner Semibold (italic)
  9. Segoe UI Variable Text Semibold (italic)
  10. Segoe UI Variable Text Light (bold/italic)
  11. Segoe UI Variable Display Light (bold/italic)
  12. Segoe UI Semilight (bold/italic)
  13. Segoe UI Semibold (bold/italic)
  14. Segoe UI Light (bold/italic)
  15. Segoe UI Black (italic)
  16. Script MT Bold (bold/italic)
  17. Rockwell Condensed (bold/italic)
  18. Rockwell Extra Bold (italic)
  19. Rage Italic (bold/italic)
  20. OCR A Extended (bold/italic)
  21. Nirmala UI Semilight (bold/italic)
  22. Microsoft YaHei UI Light (bold/italic)
  23. Microsoft YaHei Light (bold/italic)
  24. Microsoft JhengHei UI Light (bold/italic)
  25. Microsoft JhengHei Light (bold/italic)
  26. Malgun Gothic Semilight (bold/italic)
  27. Leelawadee UI Semilight (bold/italic)
  28. Gloucester MT Extra Condensed (bold/italic)
  29. Gill Sans Ultra Bold Condensed (bold/italic)
  30. Gill Sans Ultra Bold (bold/italic)
  31. Gill Sans MT Ext Condensed Bold (bold/italic)
  32. Gill Sans MT Condensed (bold/italic)
  33. Franklin Gothic Medium Cond (bold/italic)
  34. Franklin Gothic Heavy (bold/italic)
  35. Franklin Gothic Medium (bold/italic)
  36. Franklin Gothic Demi (bold/italic)
  37. Franklin Gothic Demi Cond (bold/italic)
  38. Franklin Gothic Book (bold/italic)
  39. Dubai Medium (bold/italic)
  40. Dubai Light (bold/italic)
  41. Corbel Light (bold/italic)
  42. Copperplate Gothic Light (bold/italic)
  43. Copperplate Gothic Bold (bold/italic)
  44. Cooper Black (bold/italic)
  45. Cascadia Mono SemiLight (bold/italic)
  46. Cascadia Mono SemiBold (italic)
  47. Cascadia Mono Light (bold/italic)
  48. Cascadia Code SemiLight (bold/italic)
  49. Cascadia Mono ExtraLight (bold/italic)
  50. Cascadia Code SemiBold (italic)
  51. Cascadia Code Light (bold/italic)
  52. Cascadia Code ExtraLight (bold/italic)
  53. Candara Light (bold/italic)
  54. Calibri Light (bold/italic)
  55. Britannic Bold (bold/italic)
  56. Bodoni MT Condensed (bold/italic)
  57. Bodoni MT Black (italic)
  58. Bernard MT Condensed (bold/italic)
  59. Bahnschrift SemiLight Condensed (bold/italic)
  60. Bahnschrift SemiLight SemiConde (bold/italic)
  61. Bahnschrift SemiLight (bold/italic)
  62. Bahnschrift SemiBold (bold/italic)
  63. Bahnschrift SemiBold SemiConden (bold/italic)
  64. Bahnschrift SemiCondensed (bold/italic)
  65. Bahnschrift SemiBold Condensed (bold/italic)
  66. Bahnschrift Light Condensed (bold/italic)
  67. Bahnschrift Light  (bold/italic)
  68. Bahnschrift Condensed (bold/italic)
  69. Arial Rounded MT Bold (bold/italic)
  70. Arial Narrow (bold/italic)
  71. Arial Black (italic)

 

Unplanned
Last Updated: 01 Sep 2025 11:35 by Martin Ivanov

The RichTextBox internal logic that imports .docx documents (DocxFormatProvider) doesn't support elements that don't need direct content, but have both start and end tags. Instead such elements should use self-closing tags. 

For example, instead of <w:vertAlign w:val="baseline"></w:vertAlign> it should be <w:vertAlign w:val="baseline"/>

When such element is read during import, issues may occur. Two main known issues here are with the w:vertAlign and Relationship tags.

Using

<w:vertAlign w:val="baseline"></w:vertAlign> 

instead of

<w:vertAlign w:val="baseline"/> 

throws NullReferenceException with the following stack trace:

System.NullReferenceException: 'Object reference not set to an instance of an object.'
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.OpenXmlHelper.ConvertStringToBaselineAlignment(string value) Line 168 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.SpanStyleImporter.ReadBaselineAlignment(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Parsing.Style style) Line 243 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.SpanStyleImporter.ReadStyle(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Parsing.Style style) Line 88 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.StyleDefinitionsImporter.ReadSpanStyleProperties(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Parsing.Style style) Line 278 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.StyleDefinitionsImporter.ReadStyle() Line 188 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.StyleDefinitionsImporter.Import() Line 67 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.ReadXmlContentFromPackage(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxPartImporterBase importer) Line 430 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.ReadXmlContentAndRelationsFromPackage(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxPartImporterBase importer) Line 406 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.Import() Line 190 C#  
Telerik.Windows.Documents.FormatProviders.OpenXml.dll!Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider.Import(System.IO.Stream input) Line 147 C#
Telerik.Windows.Documents.dll!Telerik.Windows.Documents.FormatProviders.DocumentFormatProviderBase.Import(byte[] input) Line 90 C#

Using

<Relationship Id="rId00004" Target="styles.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"></Relationship> 

instead of

<Relationship Id="rId00004" Target="styles.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"/> 

throws KeyNotFoundException with the following stack trace:

KeyNotFoundException: The given key was not present in the dictionary.
    System.ThrowHelper.ThrowKeyNotFoundException() in ThrowHelper.cs
    System.Collections.Generic.Dictionary<TKey, TValue>.this[TKey].get(TKey) in Dictionary.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.PartRelationsImporter.GetRelationByID(string) in PartRelationsImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.GetRelationByID(string) in DocxImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.MainDocumentImporter.BuildSection() in MainDocumentImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.MainDocumentImporter.BuildBody() in MainDocumentImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.MainDocumentImporter.BuildDocument() in MainDocumentImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.MainDocumentImporter.Import() in MainDocumentImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.ReadXmlContentFromPackage(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxPartImporterBase) in DocxImporter.cs
    Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxImporter.ReadXmlContentAndRelationsFromPackage(Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.Import.DocxPartImporterBase) in DocxImporter.cs

To work this around, import the document with the WordsProcessing library. If you need to display it in RadRichTextBox, you can export it again using the WordsProcessing library. This will normalize the tags. Then import it again using the RadDocument's DocxFormatProvider.

 var dplDocxFormatProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
 RadFlowDocument flowDocument = dplDocxFormatProvider.Import(File.ReadAllBytes("../../../test.docx"), null);

 var docBytes = dplDocxFormatProvider.Export(flowDocument, null);
 File.WriteAllBytes("../../../modified-doc.docx", docBytes);

 var rtbDocxFormatProvider= new Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider();
 RadDocument document = rtbDocxFormatProvider.Import(File.ReadAllBytes("../../../modified-doc.docx"));

 

Unplanned
Last Updated: 14 Oct 2025 07:49 by Swapnil
Exception after rapidly editing the document and then performing multiple undo operations. 
Unplanned
Last Updated: 15 Oct 2025 11:25 by Martin Ivanov
Currently, when you write down a web address (e.g. https://www.google.com) and move the caret outside of the address text (usually by pressing Space or Enter), the text is automatically wrapped in a hyperlink. Any further updates on the text won't update the underlying hyperlink address.

Add an option to auto-detect changes in the hyperlink text. This is valid only when the text matches the underlying link.