2010-09-21 93 views
-2

我刚开始探索wpf中的自定义控件。我通常是一个vb.net开发人员。在vb.net中,右上角组合框中的代码文件中有一个事件列表。尽管组合框在那里,但事件并不存在于C#中。我知道如何覆盖C#中的事件,但签名是不一样的,这不同于处理事件。处理C#的wpf自定义控件中事件的正确方法是什么?我如何处理c#wpf自定义控件中的事件

回答

1

您可以在设计器中的属性工具箱事件选项卡中看到公开事件的列表。或者,打。在控件实例和智能感知中查找具有闪电图标的成员。例如,使用一个名为TB文本框(有一个在自定义控件与乱的框控件处理事件之间没有什么区别...):

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()); 
+0

谢谢您的回答。但是,我正在设计自定义控件。当我设计控制时,我很关心如何处理这些事件。自定义控件没有UI设计器,因为它们意味着无需设计器控件。模板用于给他们的视觉外观。我想处理代码文件中的事件。 – 2010-09-21 23:32:33