When inserting text (document fragment) next to a correctly spelled word they get both underlined as incorrect.
Currently when the text contains consecutive non-space symbols like "~!@#$%^&*()_+=-`[]{};:'"/\|., ", each character is detected as a separate word. Instead, they should be considered one word, including all the subsequent space characters.
The following functionalities should respect this grouping:
- Caret navigation by words (CTRL + left/right arrow), MoveCaret UI command and the corresponding DocumentPosition methods.
- Selecting word by double clicking.
'Decrement paragraph left indent' command can set negative left indent which makes bullets/numbering of a list clipped. Instead, it shouldn't be executed if the bullets/numbering would become invisible.
Workaround: Cancel the command in CommandExecuting event:
this.radRichTextBox.CommandExecuting += (sender, e) =>
{
if (e.Command == this.radRichTextBox.Commands.DecrementParagraphLeftIndentCommand)
{
if (this.radRichTextBox.Document.Selection.GetSelectedParagraphs().Any(p => p.IsInList && p.LeftIndent <= 24))
{
e.Cancel = true;
}
}
};
The spacing between the letters is too big.
The built-in Hyperlink style is not applied to hyperlinks imported from HTML (<a> tag). As a result, the hyperlinks in the document do not have the blue underline.
Workaround: Subscribe for the SetupDocument event of the HtmlDataProvider and set the hyperlinks' style manually.
private void HtmlDataProvider_SetupDocument(object sender, Telerik.Windows.Documents.FormatProviders.SetupDocumentEventArgs e)
{
StyleDefinition hyperLinkStyle = e.Document.StyleRepository[RadDocumentDefaultStyles.HyperlinkStyleName];
hyperLinkStyle.SpanProperties.ForeColor = Colors.Green;//Color.FromRgb(0xff, 0x7a, 0xcc);
var hyperlinks = e.Document.EnumerateChildrenOfType<HyperlinkRangeStart>();
RadDocumentEditor editor = new RadDocumentEditor(e.Document);
editor.Document.History.IsEnabled = false;
foreach (HyperlinkRangeStart hyperlink in hyperlinks)
{
e.Document.Selection.SelectAnnotationRange(hyperlink);
editor.ChangeStyleName(RadDocumentDefaultStyles.HyperlinkStyleName);
}
e.Document.Selection.Clear();
editor.Document.History.IsEnabled = true;
}
When RadRichTextBox.DocumentInheritsDefaultStyleSettings is set to true, lists in the document are exported to HTML with Verdana font, instead of with the font applied in the UI.
Workaround: Use modification of the document default styles ("Normal") instead of setting DocumentInheritsDefaultStyleSettings to true, e.g.:
this.radRichTextBox.Document.StyleRepository["Normal"].SpanProperties.FontFamily = new FontFamily("Segoe UI");
The TableCellProperty.Padding property of the "TableNormal" StyleDefinition doesn't take effect in the UI. The same is valid for the TableProperties.CellPadding property.
To work this around, you can manually set the Padding property of all TableCell elements in the RadDocument.
var cells = radDocument.EnumerateChildrenOfType<Telerik.Windows.Documents.Model.TableCell>();
foreach (var cell in cells)
{
cell.Padding = new Padding(10);
}
When RadRichTextBox for WPF is hosted in a WinForms application (through ElementHost), typing with Japanese IME duplicates the typed letters, which makes the control unusable with the default behavior. Possible workaround: Create custom caret. There are some suggestions in this forum thread: https://www.telerik.com/forums/richtextbox-doesn't-support-japanese-ime-when-hosted-in-winforms
Can be reproduced in the demo:
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.
Type in Japanese text in RichTextBox that word wraps beyond the first line and export it to PDF. The text should always be left aligned (as visually shown when typing) but has an "indent" when exported when the font is Segoe UI.

NullReferenceException is thrown when the document gets updated after TableRow objects were removed with the Remove method of the parent Rows collection of the Table.
The table.Rows.Remove method is not properly removing some of the rows.
Stacktrace:
Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.TableGridMeasurer.CalculateTableCellMinMaxWidths(Telerik.Windows.Documents.Model.TableCell cell, float availableWidth) Line 137 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.TableGridMeasurer.CalculateTableMinMaxWidths(Telerik.Windows.Documents.Model.Table table, float availableWidth) Line 165 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.TableGridMeasurer.MeasureAutoFit(Telerik.Windows.Documents.Model.Table table, float availableWidth) Line 229 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.Table.RecalculateColumnWidths(float measureWidth) Line 1151 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.Table.RecalculateTableGrid(float measureWidth) Line 1249 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.TableLayoutBox.MeasureOverride(Telerik.Windows.Documents.Model.SizeF availableSize) Line 265 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.MeasureCore(Telerik.Windows.Documents.Model.SizeF availableSize) Line 933 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.Measure(Telerik.Windows.Documents.Model.SizeF availableSize) Line 836 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.SectionLayoutBox.MeasureOverrideInternal(Telerik.Windows.Documents.Model.SizeF availableSize) Line 721 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.SectionLayoutBox.MeasureOverride(Telerik.Windows.Documents.Model.SizeF availableSize) Line 468 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.MeasureCore(Telerik.Windows.Documents.Model.SizeF availableSize) Line 933 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.Measure(Telerik.Windows.Documents.Model.SizeF availableSize) Line 836 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.DocumentLayoutBox.MeasureOverrideInternal(Telerik.Windows.Documents.Model.SizeF availableSize) Line 223 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.DocumentLayoutBox.MeasureOverride(Telerik.Windows.Documents.Model.SizeF availableSize) Line 150 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.MeasureCore(Telerik.Windows.Documents.Model.SizeF availableSize) Line 933 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Layout.LayoutElement.Measure(Telerik.Windows.Documents.Model.SizeF availableSize) Line 836 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.Model.RadDocument.Measure(Telerik.Windows.Documents.Model.SizeF measureSize) Line 1515 C# Telerik.Windows.Documents.dll!Telerik.Windows.Documents.UI.DocumentPrintLayoutPresenter.MeasureOverride(System.Windows.Size availableSize) Line 714 C#
To work this around, use the DeleteTableRow method of the RadDocumentEditor.
RadDocumentEditor documentEditor = new RadDocumentEditor(document); documentEditor.DeleteTableRow(row);
I have no idea how to reproduce this, but every so often after a paste operation into a RadRichTextBox, the host thread becomes unresponsive to user input. The message pump is still running but the following unhandled exception gets thrown in a tight infinite loop. The only way to close the window is to right click on the taskbar button.
System.NullReferenceException
Message: Object reference not set to an instance of an object.
Call Stack:
at Telerik.Windows.Documents.Layout.LayoutElement.SetParent(LayoutElement newParent)
at Telerik.Windows.Documents.Layout.LayoutBox.EnsureParent()
at Telerik.Windows.Documents.Layout.LayoutBox.get_Parent()
at Telerik.Windows.Documents.Layout.FormattingSymbolLayoutBox.get_IsEndOfCell()
at Telerik.Windows.Documents.Layout.FormattingSymbolLayoutBox.GetFormattingSymbolVisual()
at Telerik.Windows.Documents.SpanBoxPositionHandler.get_Location()
at Telerik.Windows.Documents.UI.DocumentWebLayoutPresenter.GetViewPointFromDocumentPosition(DocumentPosition position)
at Telerik.Windows.Controls.RichTextBoxUI.PasteOptionsPopup.CalculateLocation()
at Telerik.Windows.Controls.RichTextBoxUI.PasteOptionsPopup.OnOwnerLayoutUpdated(Object sender, EventArgs e)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Implement import of bullets and numbering which use the old Word 6.0/Word 95 format from RTF. This includes, but is not limited to, the following RTF tags: \pnlvlN, \pnlvlblt, \pnlvlbody, \pnlvlcont. See RTF specification, "Word 6.0 and Word 95 RTF" heading for full description. WordPad and some legacy systems export lists with this formatting, so the construction is relatively widespread. According to the specification, if RTF reader doesn't support specific bullets/numbering tags, it can use the \pntext tag to read the bullets/numbering as plain text; but currently RadRichTextBox always ignores the \pntext tag. Because of this, the bullets or numbers of lists in the old format are missing after import.
When text is using fonts with defined ligatures (e.g. Calibri, Gabriola, etc.) and contains character groups with defined ligature for it, the text width is measured incorrectly (shorter that it should be). As caret and selection navigates on positions computed by this measuring system, they are not synchronized with what is shown in the UI (which correctly respects the ligatures), and there is slight offset from the real character positions and/or clipping of part of the letters at the end of the line. Examples of such groups are (depending on the font) "tt", "ff", "ffi".
Using the microsoft word,In docx document,inserting a shape,and add the text context to the shape,then save.
when radrichtextbox open the file,the program crashed.
In localizing your demo code for a RichTextBox I noticed some size mode-related inconsistencies in icon placements in the various sorts of buttons:
In Size=large, generally the icon appears above the button text. In the split button the icon is centered over and partially obscures the text. Unacceptable!
In Size=medium, generally the icon appears to the left of the text. In the Split button it appears below the text. Either is fine but should be consistent.
Also, when Size=medium and icon beside text, in all buttons I would like to see more spacing between the icon and the text; there seems to be virtually none.