WPF 禁用TextBox的觸控後自動彈出虛擬鍵盤

2022-02-13 07:10:12 字數 708 閱讀 7224

如下截圖,textbox,在觸控點選後,會自動彈出windows的虛擬鍵盤。

如何,禁用鍵盤的自動彈出?

通過呼叫taptip.exe或者osk.exe,主動彈出虛擬鍵盤

詳細呼叫可參考:c#呼叫windows虛擬鍵盤

textbox在觸控點選後,會自動彈出虛擬鍵盤,是因為在控制項中作了封裝。

處理方案:重寫textbox的方法oncreateautomationpeer,返回乙個uielementautomationpeer而不是automationpeer。

猜測與haskeyboardfocuscore屬性有關。

方案參考:

1

///2

///禁用自動彈出虛擬鍵盤的textbox控制項

3///

4public

class

textboxnoautokeyboard : textbox

510 }

以上參考自:【stackoverflow】「hide」 text box from automatic win10 keyboard showing

WPF帶佔位符的TextBox

效果圖如下 使用的xaml 如下 window x class placeholdertextbox.mainwindow xmlns xmlns x xmlns local clr namespace placeholdertextbox title mainwindow width 525 he...

WPF 限制Textbox輸入的內容

限制文字框textbox的輸入內容,在很多場景都有應用。舉個例子,現在文字框中,只能輸入0 1 2 3 4 5 6 7 8 9 這11個字元。限制輸入0 9很容易實現,關鍵是這個 符號。它在wpf中對應的是key.oempipe鍵。如果直接允許該鍵輸入,那麼會有 這個符號也可以輸入。那麼問題來了,怎...

WPF 觸控失效 試試重啟觸控

在使用一些詭異的系統以及詭異的觸控框的時候,也許會出現 wpf 程式觸控失效,失效的本質原因是 win32 層應用觸控失效。也許出現的問題是某個視窗設定 topmost 然後插拔一些觸控裝置等,這些行為,如果觸控裝置太過詭異,也許就會讓 win32 視窗觸控失效。剛好 wpf 也是乙個 win32 ...