If the margins of one side are equal to the default value, it will become 0 after import
Add a way to convert between RadRichTextBox's RadDocument and RadWordsProcessing's RadFlowDocument. This will enable integration scenarios between the two products, including using RadWordsProcessing's format providers for import and export.
Text containing mixed Right-to-Left and Left-to-Right parts are visualized incorrectly - some of the punctuation marks swap their places. Partial workaround: Use RadRichTextBox's TextRenderingMode = TextBlockWithPropertyCaching. This mode also has problems, but it works in some cases.
Expanding the table selection with the keyboard leaves the caret behind the selection's edges. After we pass the current cell content, the selection is automatically broadened over the next complete cell, but if we continue to press Shift+Arrow, it takes keystrokes = length of content in the cell + 1 to expand the selection to its next cell, though the selection highlights are already covering that cell.
There is a workaround: you will need to subscribe to the SelectionChanged event and use this code snippet for the event handler:
private void SelectionChanged(object sender, EventArgs e)
{
var selection = this.radRichTextBox.Document.Selection;
var caretPosition = this.radRichTextBox.Document.CaretPosition;
if (selection.IsEmpty)
{
return;
}
if (selection.Ranges.Last.IsReversed)
{
caretPosition.MoveToPosition(selection.Ranges.First.StartPosition);
}
else
{
caretPosition.MoveToPosition(selection.Ranges.Last.EndPosition);
}
}
Inside it, we move the caret to the selection's edges.
When trying to export a document containing InlineUIContainer inside a read-only range, the XamlWriter.Save() method that is used in XamlFormatProvider.Serialize() throws StackOverflow exception. Sample code to reproduce the exception: InlineUIContainer container = new InlineUIContainer(); Button btn = new Button(); btn.Content = "Sample Button"; btn.Width = 70; btn.Height = 30; container.UiElement = btn; ReadOnlyRangeStart start = new ReadOnlyRangeStart(); ReadOnlyRangeEnd end = new ReadOnlyRangeEnd(); end.PairWithStart(start); this.rtb.InsertInline(container); this.rtb.Document.Selection.SelectAll(); this.rtb.InsertAnnotationRange(start, end); XamlFormatProvider provider = new XamlFormatProvider(); string content = provider.Export(this.rtb.Document); File.WriteAllText(@"c:\temp\asd.xaml", content);
When a table is dragged after a page break, and then Undo/Redo is performed for the drag operation NullReferenceException is thrown.