Unplanned
Last Updated: 14 Sep 2017 07:04 by ADMIN
There is a glitch in the font's combobox when importing html that contains table and there is an image in the cell. It shows wrong font family. Typing on the other hand works correctly and the appropriate font is used.
Unplanned
Last Updated: 30 Aug 2017 15:32 by ADMIN
Setting IsLinkedToPrevious to false is not respected on export to DOCX/RTF for an empty header when the footer contains page field. The header is not exported at all.

Workaround: Add some content to the header (it might be a single space).

foreach (var section in this.radRichTextBox.Document.Sections)
{
    if (section.Headers.Default.IsEmpty)
    {
        RadDocumentEditor editor = new RadDocumentEditor(section.Headers.Default.Body);
        editor.Insert(" ");
    }
}
Unplanned
Last Updated: 03 Oct 2017 13:19 by ADMIN
InvalidCastException that is handled is thrown in a scenario with two tables with no paragraphs in between, a page break before the tables and the user inserts paragraph in the second table. As a result, the user is unable to delete content when the selection includes the table ( the one produced by merging the two tables after the paragraph deletion).
Unplanned
Last Updated: 09 Nov 2017 06:45 by ADMIN
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");
Unplanned
Last Updated: 01 Feb 2019 07:59 by ADMIN
When the first table row of each table (main as well as nested) has RepeatOnEveryPage set, the table header of the nested table overlaps the row on the new page.
Unplanned
Last Updated: 21 Nov 2017 09:23 by ADMIN
ADMIN
Created by: Anna
Comments: 0
Category: RichTextBox
Type: Bug Report
1
Hyphenated words (like "good-looking", "dry-clean", "twenty-seven") should be passed to the spellchecker as a whole word. The current mechanism works well enough for English, however, for some languages and dictionaries it is necessary to pass the whole hyphenated word to the spellchecker.
Unplanned
Last Updated: 29 Dec 2017 14:36 by ADMIN
There is a memory leak related to the referenced elements by style in the style repository from the main document. The referenced elements are from headers and footers.
Unplanned
Last Updated: 05 Apr 2018 12:09 by ADMIN
When Justify text alignment is applied to a paragraph, it should not increase the space between word which are before the last tab symbol for each line.

Steps to reproduce:
- Open RadRichTextBox in Paged layout mode, default A4 section size
- Type the following text:
-- "Welcome Welcome Welcome Welcome Welcome "
-- then tab symbol
-- then "test1 test1 uncharacteristically"
- Switch paragraph alignment to Justify.

Expected: The space between 'Welcome' words remains the same in Left and Justify alignments.
Actual: The space between 'Welcome' words is increased when Justify alignment is chosen, as compared to when Left is chosen.
Unplanned
Last Updated: 29 Mar 2018 12:44 by ADMIN
ADMIN
Created by: Tanya
Comments: 2
Category: RichTextBox
Type: Bug Report
1
The dialogs don't have an owner, thus they behave unexpected and can be easily lost from the user and block the UI.

This applies to many of the RadWindow.Alert() invocations in the UI of RichTextBox.
Unplanned
Last Updated: 05 Apr 2018 11:00 by ADMIN
Paragraph spacing from table style is not exported for each paragraph inside the table. The table style defines paragraph properties which should be respected when exporting the styles to HTML.

Workaround: Apply the paragraph settings coming from the table style directly to the elements.
foreach (var table in radRichTextBox.Document.EnumerateChildrenOfType<Table>())
{
    foreach (var paragraph in table.EnumerateChildrenOfType<Paragraph>())
    {
        paragraph.LineSpacing = table.Style.ParagraphProperties.LineSpacing;
        paragraph.LineSpacingType = table.Style.ParagraphProperties.LineSpacingType;
 
        paragraph.AutomaticSpacingAfter= table.Style.ParagraphProperties.AutomaticSpacingAfter;
        paragraph.AutomaticSpacingBefore = table.Style.ParagraphProperties.AutomaticSpacingBefore;
 
        paragraph.SpacingAfter = table.Style.ParagraphProperties.SpacingAfter;
        paragraph.SpacingBefore = table.Style.ParagraphProperties.SpacingBefore;
    }
}
Unplanned
Last Updated: 06 Apr 2018 09:03 by ADMIN
When the position on which the users right-click is an annotation start or end marker, the context menu doesn't provide suggestions about spellcheck errors.

Steps to reproduce:

1. Type "The greater the better" in RadRichTextBox with enabled spellchecking
2. Turn on track changes
3. Move the caret to the 't' of "greater"
4. Insert 't' so the word becomes wrong
5. Right-click on the 't' letter inserted in step 4

Observed: The context menu doesn't show suggestions for fixing the misspelled word
Expected: The context menu should suggest a fix
Unplanned
Last Updated: 11 Apr 2018 14:22 by ADMIN
- Localization for "Simple text" in the Define New List Style dialog and Define New Style dialog at RadRichTextBox.
- Levels (from 1st to 9th) are hardcoded in dialog's code behind and cannot be localized. (these are the items in the 'Apply Formatting to' comboBox)
Unplanned
Last Updated: 12 Apr 2018 10:06 by ADMIN
When pasting a big image in RichTextBox, it is pasted with its original size. It should be resized so it can fit on the page.

Similar logic is available in the InsertPictureCommand.

Workaround:

    private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e)
        {
            if (!(e.Command is PasteCommand))
            {
                return;
            }

            DocumentFragment res = ClipboardEx.GetDocumentFromClipboard("RadDocumentGUID");
            if (res == null)
            {
                foreach (ClipboardHandler settings in ClipboardEx.ClipboardHandlers)
                {
                    res = ClipboardEx.GetDocumentFromClipboard(settings.ClipboardDataFormat, settings.ClipboardStringFilter);
                }
            }

            if (res == null)
            {
                e.Cancel = true;
                var bitmapSource = Clipboard.GetImage();
                if (bitmapSource == null)
                {
                    return;
                }

                Padding sectionmargin = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection.ActualPageMargin;

                double originalPixelWidth = bitmapSource.Width;
                double originalPixelHeight = bitmapSource.Height;

                if (originalPixelWidth == 0 || originalPixelHeight == 0)
                {
                    originalPixelWidth = 10;
                    originalPixelHeight = 10;
                }

                double width = originalPixelWidth;
                double height = originalPixelHeight;

                if (this.radRichTextBox.Document.LayoutMode == DocumentLayoutMode.Paged)
                {
                    Section currentSection = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection;
                    var pageSize = (SizeF) currentSection.GetType().GetProperty("ActualPageSize", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(currentSection, null);

                    double maxWidth = pageSize.Width - (sectionmargin.Left + sectionmargin.Right);
                    double maxHeight = pageSize.Height - (sectionmargin.Top + sectionmargin.Bottom);
                    width = Math.Min(maxWidth, width);
                    height = Math.Min(maxHeight, height);
                }

                double ratio = originalPixelWidth / originalPixelHeight;
                width = Math.Min(width, height * ratio);
                height = width / ratio;

                Size size = new Size(width, height);
                ImageInline imageInline = new ImageInline(new WriteableBitmap(bitmapSource));
                imageInline.Size = size;

                this.radRichTextBox.ActiveDocumentEditor.InsertInline(imageInline);
            }
        }
Unplanned
Last Updated: 14 Sep 2018 13:57 by ADMIN
Having a table with specified RowSpan and further exported to PDF does not draw the border. This is due to export optimization caused by the fact whether there is or is not a CellSpacing specified.

Workaround: Set really small CellSpacing for the table.
Unplanned
Last Updated: 01 May 2018 15:24 by ADMIN
Currently, RadRichTextBox only imports from HTML documents tables with spacing between cells, but it does not export tables with such style. It seems like the border-collapse: collapse value defined in the Table Normal style overrides the border-spacing value, which is applied to the cells.
As a workaround, the document styles can be omitted from the exported HTML and the styling can be exported inline be changing the ExportSettings of HtmlFormatProvider:
provider.ExportSettings.StylesExportMode = StylesExportMode.Inline;
provider.ExportSettings.StyleRepositoryExportMode = StyleRepositoryExportMode.DontExportStyles;
Unplanned
Last Updated: 02 May 2018 15:30 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: RichTextBox
Type: Bug Report
1
The caret gets a wrong size when positioned on annotation start/end.
Unplanned
Last Updated: 31 May 2018 14:53 by Rick
Switching between bulleted and numbered lists only affects current paragraph instead of changing the list for all paragraphs currently included in it.

Steps to reproduce
1. Create a numbered list with several items
2. Click the bulleted list button
Expected behavior: The entire list switches from numbered to bulleted
Actual behavior: The current list item switches to bulleted but the rest of the list remains numbered.


Workaround: When the ToggleBulletsCommand is executed, traverse the PreviousSiblings and NextSiblings of the current paragraph and change their list properties if they belong to the same list. Sample code attached. Note: the workaround will change the list properties only for the consecutive paragraphs of the same list and will create a selection to do so.
Unplanned
Last Updated: 01 Jun 2018 14:37 by ADMIN
When the users select a table using the thumb provided by the TableAdorner, the table is selected but the Table Tools contextual tab in RadRichTextBoxRibbonUI is not activated.

Workaround: Attach to SelectionChanged and move the caret position to the first position of the table when the selection range is only one and is of type Table. Sample code is attached.
Unplanned
Last Updated: 12 Jun 2018 11:10 by ADMIN
Some of the methods in RadDocumentEditor/RadRichTextBox call RadDocument.EnsureDocumentMeasuredAndArranged(), but some don't, for example:

- InsertAnnotationRange
- InsertLine
- ChangeAllFieldsDisplayMode

This causes exceptions or incorrect behavior what layout is not performed on the document.

Workaround: Call EnsureDocumentMeasuredAndArranged before the problematic methods.
Unplanned
Last Updated: 14 Jun 2018 05:52 by ADMIN
When the document uses a font that cannot be found on the machine, it is substituted for another font. What should happen is to fall back to another font for the visualization, but to preserve the original font in the model.

Partial workaround: for HTML import, the font can be preserved by subscribing to the FontSubstituting event:
provider.ImportSettings.FontSubstituting += ImportSettings_FontSubstituting;
private void ImportSettings_FontSubstituting(object sender, FontSubstitutingEventArgs e)
{
      e.SubstitutionFontFamily = new FontFamily(e.OriginalFontName);
}