Hi,
I am using a XamRichTextEditor and a ListView whose items are draggable. I would like to insert a string in the document when the user drops an element on the XamRichTextEditor. For that, i use the DragSource and DropTarget elements from the Infragistics framework.
In the DragSource.Drop event handler, I can use the GetPosition() method on the DropEventArgs to get the Point where the Drop occured (relative to the XamRichTextEditor). My problem is that i can't find a way to get a DocumentOffset or a TextPosition or a TextRange for this Point that I could use to insert the text in the right place inside the document.
Is there a way to acheive this ?
Note: the WinRT native ITextDocument has a GetRangeFromPoint method that does just that and works perfectly.
Note 2: The WPF native RichTextBox has a GetPositionFromPoint method that does just that and also works perfectly. Unfortunatly I can't use the native RichTextBox control because its support for some advanced Rtf formatting options is not good enough for what i want to achieve and the XamRichTextEditor seems to handle them better.
Thank you for your help.
Hello,
Thank you for your post!
I have been looking into it. There is an AggregateOffsetCount property of the RichTextDocument of the XamRichTextEditor. More about this property you can find on the following link from our documentatio: http://help.infragistics.com/Help/Doc/WPF/2014.2/CLR4.0/html/InfragisticsWPF4.Documents.RichTextDocument.v14.2~Infragistics.Documents.RichText.RichTextDocument_members.html.
There are also InsertText method, that would insert a text at a specified document offset, that you can use too. Again more about the method you can find on the above link.
Please do not hesitate to let me know if you have any further questions on this matter.
Thank you for your answer. The InsertText method takes a document offset as its first parameter and that is precisely my problem. I need a way to get from a Point object to a document offset (int) that corresponds to the text at these coordinates in the document displayed.
For example, i would like to get the offset that corresponds to the Point whose coordinates are (X:5 ; Y:17).
Thank you for your help