HexView splits these workflows across three services.
HexSearchService supports:
Typical flow:
if (HexSearchService.TryParseHexBytes("DE AD BE EF", out var pattern))
{
var found = HexSearchService.FindNextValue(reader, length, pattern, startOffset);
if (found.HasValue)
{
HexView.MoveCaretTo(found.Value);
}
}
NavigationService tracks:
This keeps caret history independent from the control.
SelectionService owns the current logical range and exposes operations like:
FillZeroIncrementRandomizeCopyHexCopyAsciiPasteHexPasteAsciiThe sample keeps the control selection and the service selection synchronized through the SelectionChanged event.