C#/ WPF:我如何从ViewModel中找出TextBox中的选择内容?

时间:2010-10-21 08:40:04

标签: c# wpf mvvm

我如何从ViewModel找出所选文字是什么?当你加粗/格式化文本时,我想要完成的操作类似于StackOverflow上的WMD Markdown编辑器。处理所选文本并进行修改

1 个答案:

答案 0 :(得分:1)

您似乎不适合管理ViewModel中的选择,该选择不应包含功能,仅包含业务数据。 但无论如何:

为文本框绑定SelectionChanged事件:

<TextBox SelectionChanged="TextBox_SelectionChanged"/>

然后以任何令人愉快的方式处理选择:

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

或者将它绑定到ViewModel上的属性:

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