2010-04-22 102 views
1

嗨,我有一個應用程序內置wpf。在WPF中的應用程序級別捕獲關鍵事件

在基本級別,我有一個用戶控件,並在該用戶控件上有很多組件。

即使焦點在其中一個孩子身上,我也希望能夠捕捉到我的用戶控件上的按鍵事件。使用PreviewKeyUp似乎沒有辦法。

謝謝, 馬特。

回答

0

也許我沒有完全理解你的問題,但是如果你沒有設置keydown事件來處理它,它應該上升到層次結構。

public UserControl1() 
      { 
       InitializeComponent(); 
       this.KeyDown += new KeyEventHandler(UserControl1_KeyDown); 
       textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown); 
      } 

      void textBox1_KeyDown(object sender, KeyEventArgs e) 
      { 
       Console.WriteLine("txt keydown: "+e.Key.ToString()); 
      } 

      void UserControl1_KeyDown(object sender, KeyEventArgs e) 
      { 
       Console.WriteLine(e.Key.ToString()); 
      } 

輸出:

txt keydown: Y 
Y