2012-08-10 76 views
1

我正在開發Windows Phone應用程序。Windows Phone鍵盤按鍵事件?


我注意到當我顯示一個文本框和一個鍵盤後,如果我按下物理「後退」鍵,鍵盤將隱藏,然後再次按它將返回到上一頁。

但我希望頁面在第一次按「後退」鍵時導航到上一頁。所以它就像鍵盤一樣,當我按下回車鍵時,它會直接回到上一頁。

我試圖實現頁面的事件處理程序,但它似乎不起作用,因爲它在第一次後退鍵被按下時不會被調用。

任何人有這個好主意嗎?謝謝

回答

2

您可以在輸入框上實現KeyUp事件處理程序,然後在調用NavigationService.GoBack()之前檢測Escape鍵事件。這裏是一段代碼來說明我的點和效果您正在上面描述:

的XAML(SecondPage.xaml):

<TextBox x:Name="SomeTextBox" KeyUp="SomeTextBox_KeyUp"/> 

的C#代碼隱藏:

private void SomeTextBox_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.Key == Key.Escape) 
     { 
      NavigationService.GoBack(); 
     } 
    } 
+1

這不起作用,因爲回退鍵不是'KeyUp'事件的觸發器。所以當我按下後退鍵時不會調用它。換句話說,後退鍵不是鍵盤的一部分,所以鍵盤鍵盤不會被觸發。但是,謝謝你的回答。 – 2012-08-10 17:02:55

+0

我試過了代碼,它在仿真器上工作。你試過了嗎? – 2012-08-10 17:07:26

-2

你可以實現theTextBox的LostFoucs事件處理程序,導航到你想要的處理程序中的頁面。

+0

的只有當後退鍵被按下時,文本框纔會失去焦點。事實上,當後退鍵被按下時,它可能不會失去焦點,所以這個解決方案根本不可能工作。 – 2012-08-10 08:18:22

+0

不,這不起作用,因爲如果你點擊文本框和鍵盤的任何地方,它將失去焦點並返回到前一頁。 – 2012-08-10 16:57:48