我正在開發Windows Phone應用程序。Windows Phone鍵盤按鍵事件?
我注意到當我顯示一個文本框和一個鍵盤後,如果我按下物理「後退」鍵,鍵盤將隱藏,然後再次按它將返回到上一頁。
但我希望頁面在第一次按「後退」鍵時導航到上一頁。所以它就像鍵盤一樣,當我按下回車鍵時,它會直接回到上一頁。
我試圖實現頁面的事件處理程序,但它似乎不起作用,因爲它在第一次後退鍵被按下時不會被調用。
任何人有這個好主意嗎?謝謝
我正在開發Windows Phone應用程序。Windows Phone鍵盤按鍵事件?
我注意到當我顯示一個文本框和一個鍵盤後,如果我按下物理「後退」鍵,鍵盤將隱藏,然後再次按它將返回到上一頁。
但我希望頁面在第一次按「後退」鍵時導航到上一頁。所以它就像鍵盤一樣,當我按下回車鍵時,它會直接回到上一頁。
我試圖實現頁面的事件處理程序,但它似乎不起作用,因爲它在第一次後退鍵被按下時不會被調用。
任何人有這個好主意嗎?謝謝
您可以在輸入框上實現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();
}
}
你可以實現theTextBox的LostFoucs事件處理程序,導航到你想要的處理程序中的頁面。
的只有當後退鍵被按下時,文本框纔會失去焦點。事實上,當後退鍵被按下時,它可能不會失去焦點,所以這個解決方案根本不可能工作。 – 2012-08-10 08:18:22
不,這不起作用,因爲如果你點擊文本框和鍵盤的任何地方,它將失去焦點並返回到前一頁。 – 2012-08-10 16:57:48
這不起作用,因爲回退鍵不是'KeyUp'事件的觸發器。所以當我按下後退鍵時不會調用它。換句話說,後退鍵不是鍵盤的一部分,所以鍵盤鍵盤不會被觸發。但是,謝謝你的回答。 – 2012-08-10 17:02:55
我試過了代碼,它在仿真器上工作。你試過了嗎? – 2012-08-10 17:07:26