我刚开始在wpf中探索自定义控件。我通常是vb.net开发人员。在vb.net中,右上角的组合框中的代码文件中有一个事件列表。即使组合框在那里,C#中也没有事件。我知道如何覆盖c#中的事件,但签名不一样,这与处理事件不同。在C#的wpf自定义控件中处理事件的正确方法是什么?
答案 0 :(得分:1)
您可以在设计器的属性工具箱,事件选项卡中查看公开事件的列表。或者,点击。在控件实例和intellisense中查找带有闪电图标的成员。例如,使用名为tb的TextBox(在自定义控件和开箱即用控件中处理事件之间没有区别......):
TextBox tb = new TextBox();
this.Grid1.Children.Add(tb);
tb.KeyDown += new KeyEventHandler(tb_KeyDown);
使用像这样的处理程序:
void tb_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.Key.ToString());
}
或者:
TextBox tb = new TextBox();
this.Grid1.Children.Add(tb);
tb.KeyDown += (o, e) => MessageBox.Show(e.Key.ToString());