文本框控件中的部分可编辑字符串

时间:2013-11-06 09:28:13

标签: c# .net wpf

有没有办法允许在c#和wpf文本框中部分编辑字符串? somthing,如果TextBox的内容是例如

"http://xxxx.xxx/xx/path?param1=xxx&param2=xxx"

x可以用任何长度替换,但是其他任何东西都是常量的,不能在文本框中编辑,任何方式来实现这样的东西?

1 个答案:

答案 0 :(得分:2)

您可以在TextBox上处理两个相关事件; PreviewKeyDownPreviewTextInput事件。通过处理这两个事件,您可以完全控制用户可以在TextBox中编辑和不能编辑的内容。当然,您需要在内部计算逻辑,但事件处理程序是使您能够执行所需操作的工具:

private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
    // Do your text filtering here using e.Key and e.Handled
}

private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    // Do your text filtering here using e.Text and e.Handled
}