2010-09-21 91 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