2013-02-20 116 views
2

我們有一個Windows應用商店應用,需要輸入用戶名和密碼才能訪問服務。 當認證失敗連接到服務時,我們顯示一個彈出框,要求重新輸入他們的用戶名和密碼。未隱藏Windows 8軟鍵盤

在平板電腦上,當用戶將焦點置於用戶名或密碼字段時,軟鍵盤顯示正確。 我們的登錄屏幕會在檢測到軟鍵盤時進行調整,以便所有字段和按鈕都可見。

這一切都沒有問題,當他們輸入他們的細節,並點擊登錄按鈕彈出窗口關閉,應用程序繼續。

但由於某種原因,我無法解決用戶是否將注意力集中在用戶名文本框上,然後點擊登錄按鈕時軟鍵盤未被隱藏。 彈出窗口被解散,應用程序繼續運行,但它會顯示軟鍵盤。 如果焦點位於密碼框中,則按預期隱藏鍵盤。

我已經嘗試將焦點設置爲按鈕單擊事件中的按鈕控件,但這不能解決問題。可能是因爲按鈕單擊也會關閉彈出控件。

有沒有人遇到過這個? 除了將焦點設置爲另一個控件(不適用於我的情況)之外,還有其他方法可以關閉軟鍵盤嗎?

回答

0

您無法控制何時顯示或隱藏觸摸鍵盤。 This white paper詳細描述了鍵盤顯示和/或隱藏時的邏輯。從最後一段開始:

這意味着應用程序無法通過焦點操作以編程方式調用鍵盤 鍵盤。

2

我通過在顯示彈出窗口之前將焦點設置爲虛構按鈕(width = 0,height = 0)解決了該問題。 所以當彈出窗口關閉時,焦點放置在不需要鍵盤的按鈕上。 如果沒有這個,重點放在最後聚焦的「控制」上,這可能會對鍵盤造成一種奇怪的行爲。

希望能有所幫助。

Fox