最初这个问题把我带到了这里: 禁用触发 TextChanged 事件
我想知道jtmach的答案是否“干净”:
private void mytextbox_LostFocus(object sender, RoutedEventArgs e)
{
this.mytextbox.TextChanged -= this.myTextBox_TextChanged;
if(textbox.Text.ToString().Contains('.'))
{
textbox.Foreground = new SolidColorBrush(Colors.Gray);
textbox.Background = new SolidColorBrush(Colors.White);
}
this.mytextbox.TextChanged += this.myTextBox_TextChanged;
}
可以在这样的另一个事件中取消订阅TextChanged
-events 吗?
或者它是否容易出错,因为在 LostFocus 期间可以调用 TextChanged 事件(由用户或程序)?