public void ReplaceSelectedText(string replacement)
{
if (Text.Length == SelectedText.Length)
{
SelectedText = string.Empty;
SetText(replacement);
return;
}
string beforeSelected = Text.Substring(0, SelectedTextIndex);
int selectedTextIndexOfLast = SelectedTextIndex + (SelectedText.Length - 1);
string afterSelected = Text.Substring(selectedTextIndexOfLast + 1, Text.Length - 1 - selectedTextIndexOfLast);
SelectedText = string.Empty;
SetText(beforeSelected + replacement + afterSelected);
}