2010-03-29 27 views
1

KeyDown事件直到任何用戶控件被隱式地單擊或設置爲焦點時纔會響應。我想在頁面加載後隨時觸發關鍵事件。直到任何用戶控件被隱式點擊或設置焦點,KeyDown事件纔會響應?

我想這樣的:

private void Page_KeyDown(object sender, KeyEventArgs e) 
      { 
       if (e.Key.ToString() == "Escape") 
        { 
         string uri = "/Views/Music/ArtistbyAlbum"; 
         this.NavigationService.Navigate(new Uri(uri, UriKind.Relative)); 
        } 
      } 

     void LayoutRoot_KeyDown(object sender, KeyEventArgs e) 
       { 
        MessageBox.Show("hi"); 


} 

請幫助。

感謝, Subhen

回答

0

除非你把焦點到頁面內的控制,你不能得到關鍵事件,即本質上是有重點的意思。具有焦點的控件是將接收關鍵事件的控件。

在頁面後面的代碼中,使用OnNavigatedTo事件並在可以接收焦點的第一個控件上調用Focus方法(即第一個控件是可見的,已啓用並具有IsTabStop值true)。

另一種方法可能是將頁面IsTabStop設置爲true,並在Page本身上調用Focus

相關問題