If header/footer containing annotations is set to a document using RadDocumentEditor.ChangeSectionHeader or ChangeSectionFooter methods, the annotations in the body of the header/footer are not paired in the resulting document.
When such document is exported to XAML, NullReferenceException is thrown in the ReindexAnnotationMarkers internal method.
Workaround:
- Do not use RadDocumentEditor to set the footer:
//editor.ChangeSectionFooter(radDocument.Sections.First, HeaderFooterType.Default, new Footer { Body = footerRadDocument });
radDocument.Sections.First.Footers.Default.Body = footerRadDocument;
- Manually "fix" the cloned footer body before the export:
((ISupportInitialize)radDocument.Sections.First.Footers.Default.Body).EndInit();
The settings of the empty paragraphs in the document fallback to the default document settings (Verdana). The EnumerateChilderOfType() method can be used to traverse all the paragraphs in the document and apply them the same font family as a workaround.
The style of the table fallbacks to the default one and when the content of a cell is deleted, the current font family and font size are changed. The scenario is working as expected in versions before R3 2016.
When an RTF document contains table inside table in the header or in the footer, the document cannot be imported due to NullReferenceException. In the case of RadRichTextBox the exception is handled, but it's not when RtfFormatProvider is used directly. The bug is regression in 2016 R3.
When the users move the image (evaluated as a result of the field) using the document selection, the field is removed from the document and the image is duplicated.
If the document contains a simple field without run inside, the import process fails.
<w:fldSimple w:instr="page" w:dirty="true"/>
The same document with a run inside the field does not cause an error
<w:fldSimple w:instr="page" w:dirty="true">
<w:r>
<w:t>1</w:t>
</w:r>
</w:fldSimple>
When a DropDownList SDT form is saved in a XAML document and then imported with the XamlFormatProvider, an extra ListItem entry is added in the items collection of the DropDownList. The extra entry is the default "Choose an item".
To work this around, iterate all ComboBoxProperties and manually remove duplicates of the "Choose an item" entry.
var dropDownLists = radRichTextBox.Document.EnumerateChildrenOfType<SdtRangeStart>()
.Where(x => x.SdtProperties is ComboBoxProperties)
.Select(x => x.SdtProperties).OfType<ComboBoxProperties>();
var defaultItemString = LocalizationManager.GetString("Documents_ContentControlsGenerator_ListItem");
foreach (var item in dropDownLists)
{
if (item.Items.Count > 0 && item.Items.Any(x => x.Value != defaultItemString) && item.Items.Any(x => x.Value == defaultItemString))
{
var occurrence = item.Items.FirstOrDefault(x => x.Value == defaultItemString);
while (occurrence != null)
{
item.Items.Remove(occurrence);
occurrence = item.Items.FirstOrDefault(x => x.Value == defaultItemString);
}
}
}
When the main container of a window is ScrollViewer, the caret is not kept in the view while users move it with the arrow keys.
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);
}