When classes inheriting RadDocument are exported using XamlFormatProvider, XmlException with message "The prefix 't' cannot be redefined from 'clr-namespace:Telerik.Windows.Documents.Model;assembly=WpfApplication1' to 'clr-namespace:Telerik.Windows.Documents.Model;assembly=Telerik.Windows.Documents' within the same start element tag." is thrown Similar scenario works with inheriting other elements. Steps to reproduce: 1. Create an object which inherits the RadDocument 2. Pass the created object as a parameter for the XamlFormatProvider.Export() method Observe: An XmlException is thrown Expected: The object to be exported
When trying to export a document which contains hyperlink pasted from Outlook, KeyNotFoundException is thrown. The color of the span is not registered. To work around this, register a style with the same color: StyleDefinition style = new StyleDefinition("test", StyleType.Character); style.SpanProperties.ForeColor = Color.FromArgb(100, 200, 25, 104); this.radRichTextBox.Document.StyleRepository.Add(style);
Loading/editing document with large lists (with 1561 or more items) throws IndexOutOfRangeException when incorrectly tries to convert numbering to letters. Workaround: Change list type to one which does not include letter NumberingFormat in any of its levels, for example Numbered Hierarchical or custom one.
When the caret is positioned at the beginning of a paragraph with hanging indent and the user press Backspace, the left indent is set to a negative value, the text goes out of the bounds of the document. Workaround: Use the editor's method instead of the command: private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { bool? parameter = e.CommandParameter as bool?; if (parameter != null && parameter == true) { DeleteCommand command = e.Command as DeleteCommand; if (command != null) { e.Cancel = true; this.radRichTextBox.Delete(true); } } }
The ChangeListStyleCommand has an event named ListStyleChangedChanged which is never raised.
When the specified length of the stream is larger than the actual one, Adobe throws errors and removes the image. Workaround: Set the format provider settings: PdfFormatProvider provider = new PdfFormatProvider(); PdfExportSettings exportSettings = new PdfExportSettings(); exportSettings.ContentsDeflaterCompressionLevel = 9; exportSettings.ImagesDeflaterCompressionLevel = 9; provider.ExportSettings = exportSettings;
If span formatting command (bold, italic, strikethrough) is applied to selection over multiple paragraphs, and tracked with tracked changes; and later this tracked change is rejected, NullReferenceException is thrown. The exception is handled so the visible result for the end user is that the UI stops updating and any subsequent changes are not visible.
HtmlFormatProvider cannot import a document that contains an image with invalid URI format. An UriFormatException is thrown and the whole import fails. Similar errors should be handled and the document should be imported.
When header/footer (HeaderFooterPresenterBase) is rendered, the model which corresponds to it (HeaderFooterBase's Body property) is not updated. The result is updated only in the presenter. Thus, when exporting the document or when checking the elements in the model, the value of the inline (span's text) is not updated. Workaround: Update the fields in the headers/footers. RadDocumentEditor.UpdateAllFields() method can be used. Note that it works only for the main document and not its child documents, so different RadDocumentEditors should be created for each header/footer document.
Workaround: Manipulate the clipboard content in CommandExecuting even handler: private void RichTextBox_CommandExecuting(object sender, Telerik.Windows.Documents.RichTextBoxCommands.CommandExecutingEventArgs e) { if (e.Command is PasteCommand) { DocumentFragment document = ClipboardEx.GetDocument(); bool hasChangedDocument = false; foreach (FieldRangeStart fieldStart in document.EnumerateChildrenOfType<FieldRangeStart>()) { foreach (Span span in fieldStart.Field.GetFragmentByDisplayMode(FieldDisplayMode.Code).EnumerateChildrenOfType<Span>()) { span.ForeColor = Colors.Black; hasChangedDocument = true; } } if (hasChangedDocument) { ClipboardEx.SetDocument(document); } } }
The caret of RadRichTextBox appears only when the text is selected. Once you try to reorder the letters within its content, it appears. The issue is caused when ScrollViewer control has different than the default style for the corresponding theme and there are set Padding and/or Margin properties. Workaround: the template of the Caret should be edited and Style="{x:Null}" should be set on the ScrollViewer which is defined inside the Caret control template.
If there is a Span surrounded with annotation ranges in a table cell and the table has conditional table style, the text cannot be selected after import of such document. If the table has normal table style (not a conditional one) everything works as expected. - If the annotations are bookmark ranges (start and end), the text cannot be selected with double-click over the text. - If the text is hyperlink, the text could be selected with double-click, but when the selection is changed through the keyboard arrows, the same issue appears. The issue appears with Docx documents, in addition to the attached Xaml one, so the issue seems not to be related to the XAML serialization.
Trying to delete table cell formatting symbol, when track changes are on, will result in marking the text in the cell as deleted. MS Word does not respect such delete action.
When importing a hyperlink containing anchor, the NavigateUri keeps the part after the hyperlink only instead of the whole URI.
If we have a paragraph containing single span which has set red foreground as a local value, applying 'Heading 1' style on that paragraph from the RadRichTextBox' Styles Gallery doesn't change the span's foreground to blue (which comes from the applied style), but preserves the red value. Workaround: To clear a given property, basing on some logic which determines if it should be cleared. For example: this.radRichTextBox.CommandExecuting += (s, e) => { if (e.Command is ChangeStyleNameCommand) { var style = this.radRichTextBox.Document.StyleRepository.GetValueOrNull(e.CommandParameter.ToString()); if (style.Type == Telerik.Windows.Documents.Model.Styles.StyleType.Paragraph) { Paragraph paragraph = this.radRichTextBox.Document.CaretPosition.GetCurrentParagraphBox().AssociatedParagraph; foreach (Span span in paragraph.EnumerateChildrenOfType<Span>()) { span.ClearValue(Span.ForeColorProperty); } } } };
The issue is reproducible when the document contains a custom Paragraph style the ListId of which related to a custom ListStyle in the document.
Empty paragraph containing only a section break shouldn't be translated on the next page if there isn't enough space for it on the current page.
Instances of RadDocument are leaking in addition to other objects when the CreateDeepCopy method of a Section is called. The section contains one paragraph in its blocks and has one paragraph in the default header. Fix available in LIB Version 2017.3.1002.