2016-01-13 54 views
12

Windows 8でWPFタッチアプリケーションを作成し、最近Windows 10に移行しました。実装した機能の1つは、TextBoxがフォーカスを受け取ったときにWindowsキーボードを開くことです。 Windowsの8では、レジストリEdgeTargetDockedStateを設定し、TabTipプロセスを開始を設定することにより、下にキーボードをドッキングすることが可能であった:WPFにドッキングされたWindows 10タッチキーボードを開く

 string path = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe"; 
    var info = new ProcessStartInfo(path); 
    info.WindowStyle = ProcessWindowStyle.Maximized; 
    var p = new Process(); 
    p.StartInfo = info; 
    p.Start(); 

のWindows 10キーボードはしかしと同じドックの振る舞いを持っていないようですWindows 8.キーボードは、アプリケーションの下部を隠す最大化されたウィンドウをオーバーレイするようになりました。最大化されていないウィンドウのみが残りのスペースに合わせてサイズ変更されます。

私は、以下のリンクをチェックしますが、何の解決策見つけた:

は、Windows 10キーボードが最大化されたウィンドウのためのプログラムでドッキングしていないことはできますか?

+0

解決策は見つかりましたか? – nicruo

+0

私が知る限り、ウィンドウが最大化されると、Windows 10のキーボードはドッキングできません。私はMicrosoftのリンクで、この機能が正式に要求されるところを尋ねましたが、満足のいく回答は得られていません。これが実装されない場合、私はウィンドウを「最大限に」見てからキーボードを開く(非常に醜い解決策のように思える)でしょう。 –

答えて

5

私はWPFアプリケーションでTabTipの統合に関するすべてを自動化するために私のプロジェクトを公開しました。

あなたはnugetにそれを得ることができ、その後、あなたが必要とするすべては、アプリの起動ロジックでは、簡単な設定である:

TabTipAutomation.BindTo<TextBox>(); 

あなたはどんなのUIElementにTabTip自動化ロジックをバインドすることができます。そのような要素がフォーカスを取得すると仮想キーボードが開き、要素がフォーカスを失うと閉じます。それだけでなく、TabTipAutomationはUIElement(またはWindow)をビューに移動し、TabTipはフォーカスされた要素をブロックしません。

詳細については、project siteを参照してください。

明示するには:このパッケージを使用する場合、TabTipはドッキングされませんが、UIが表示されます。これは達成したいと思うものです。

+0

ありがとう@МаксФедотов、私はあなたのプロジェクトを使用して終了しませんでしたが、私が必要とした作品を選んで取り出しました。 – BigHeadCreations

2

チェックこの記事:どのような要素がフォーカスを取得するとき http://www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win

仮想キーボードが開き、要素がフォーカスを失うことになるとき、それが閉じます。

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – Marusyk

関連する問題