C#/WPF: How can I from a ViewModel find out what is Selected in a TextBox? – Education Career Blog

How can I from a ViewModel, find out what is the selected text? What I am doing wanting to accomplish is similar to the WMD Markdown Editor here on StackOverflow when you bold/format text. Work on the selected text and modify it


Doesn’t seem right for you to manage the selection in the ViewModel, that should not contain functionality, only business data.
But in any case:

Bind the SelectionChanged event for the textbox:

<TextBox SelectionChanged="TextBox_SelectionChanged"/>

And then handle the selection in whatever way you find pleasant:

private void TextBox_SelectionChanged(object sender, RoutedEventArgs e)
    string thisIsTheSelectedText = ((TextBox) sender).SelectedText;

Or bind it twoway to a property on the ViewModel:

<TextBox SelectedText="{Binding MyModelProperty, Mode=TwoWay}"/>

Leave a Comment