2010-12-01 68 views
5

我將事件處理程序連接到TextBox的KeyDown事件。事件處理程序具有類型爲KeyEventArgs的參數,其屬性爲KeyPlatformKeyCode。問題是針對和按下Windows手機軟鍵盤上的按鍵,Key和PlatformKeyCode的值分別爲D149。我不知道哪個鍵被按下。另外Keyboard.Modifiers靜態屬性返回「如何確定在Windows Phone 7數字鍵盤中按下的鍵的值?

那麼如何確定被按下的鍵?

+0

我認爲這很容易 - 但我只是在我的設備上進行了測試,得到了相同的結果。我還注意到,鍵「;」和「:」都有相同的PlatformKeyCode爲186和「Key == Key.Unknown」。奇怪的。 – driis 2010-12-01 20:56:57

+0

@driis感謝您的測試和確認我的懷疑。 – rams 2010-12-01 21:05:20

回答

2

這是一個已知問題。

KeyDown/OnKeyDown and KeyUp/OnKeyUp issues

你總是可以讀取輸入值而不是和行爲上的1 /! seperately。

+0

感謝您的鏈接。希望這個問題將很快得到解決 – rams 2010-12-02 02:16:19

1

這非常像一個錯誤。

它存在於仿真器和真實設備上。

如果在模擬器上使用pc鍵盤,則在鍵上檢測到修飾鍵,所以這不起作用。有趣的是,如果使用具有物理鍵盤的設備,如果啓用了功能/轉換按鈕,則當按下另一個按鈕時觸發2個按鍵事件。一個用於正確的鍵碼和一個用於修飾鍵,但是Keboard.Modifier總是等於「無」。

看起來您需要閱讀TextChanged事件前後的文本框值。