有没有办法允许在c#和wpf文本框中部分编辑字符串? somthing,如果TextBox的内容是例如
"http://xxxx.xxx/xx/path?param1=xxx¶m2=xxx"
x可以用任何长度替换,但是其他任何东西都是常量的,不能在文本框中编辑,任何方式来实现这样的东西?
答案 0 :(得分:2)
您可以在TextBox
上处理两个相关事件; PreviewKeyDown
和PreviewTextInput
事件。通过处理这两个事件,您可以完全控制用户可以在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
}