internal static void Execute2(DnHexBox dnHexBox) { dnHexBox.StartOffset = dnHexBox.DocumentStartOffset; dnHexBox.EndOffset = dnHexBox.DocumentEndOffset; var sel = dnHexBox.Selection; dnHexBox.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(delegate { if (sel != null && sel == dnHexBox.Selection) { dnHexBox.SetCaretPositionAndMakeVisible(sel.Value.StartOffset, sel.Value.EndOffset); } else { dnHexBox.BringCaretIntoView(); } })); }