Ejemplo n.º 1
0
 public static TextRange[] GetTextPointers(IHexAsnNode treeNode, BindableRichTextBox rtb, ScrollViewer scroller)
 {
     TextPointer[] pointers = new TextPointer[6];
     // tag
     pointers[0] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.Offset)
         );
     pointers[1] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.Offset + 1)
         );
     // length bytes
     pointers[2] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.Offset + 1)
         );
     pointers[3] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.PayloadStartOffset)
         );
     //// payload
     pointers[4] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.PayloadStartOffset)
         );
     pointers[5] = rtb.Document.ContentStart.GetPositionAtOffset(
         getOffset(treeNode.PayloadStartOffset + treeNode.PayloadLength)
         );
     ScrollToPosition(pointers[0], rtb, scroller);
     return(GetRanges(pointers));
 }
Ejemplo n.º 2
0
 static void ScrollToPosition(TextPointer startPointer, BindableRichTextBox rtb, ScrollViewer scroller)
 {
     rtb.CaretPosition = startPointer;
     scroller.ScrollToVerticalOffset(rtb.FontSize * (rtb.CurrentLine - 1));
 }