C#中TextChanged事件的奇怪错误

时间:2014-10-01 10:36:24

标签: c#

所以我有一个组合框:

<ComboBox IsEditable="True" TextBoxBase.TextChanged="textBox_Changed"/>

当组合框中的文本发生变化时,它将触发textBox_changed函数:

private void textBox_Changed(object sender, RoutedEventArgs e)
{
    LinearGradientBrush gradient = new LinearGradientBrush(Colors.MistyRose, Colors.SandyBrown, new Point(0, 0), new Point(0, 1));
    this.saveButton.Background = gradient;
}

此功能的作用是更改窗口其他位置按钮的背景颜色。到目前为止,这完美无缺。当我尝试将这个功能与TextBox而不是Combobox一起使用时会出现问题:

<TextBox TextChanged="textBox_Changed"/>

运行应用程序时,出现以下错误:

Object reference not set to an instance of an object.

非常奇怪的错误,我无法弄明白。

1 个答案:

答案 0 :(得分:0)

问题解决了!表单初始化时会触发该事件,但saveButton尚未初始化。我删除了字段的默认值,一切都很好。