我有一个包含多个复选框和一些文本框输入的长表单。我想在任何控件发生更改时引发事件(即更改任何复选框状态或更改任何文本框文本)。是否有一种全局的方法可以做到这一点,而不必为每个控件添加事件处理程序?
<Window x:Class="MyApplication.MainWindow"
....
TextBox.TextChanged="TextBox_TextChanged" CheckBox.Checked="CheckBox_Checked">
TextBox_OnLostFocus
对于一个 TextChanged
处理程序来说是一个奇怪的名称 :) - user743382EventManager.RegisterClassHandler(typeof(TextBox), TextBox.TextChangedEvent,
new RoutedEventHandler(AnyTextBox_OnTextChanged));
EventManager.RegisterClassHandler(typeof(CheckBox), CheckBox.CheckedEvent,
new RoutedEventHandler(AnyCheckBox_OnChecked));
您可以在窗口或用户控件上使用TextBoxBase.TextChanged="MainWindow_OnTextChanged"。