2016-01-13 3 views
12

Wir begannen mit dem Erstellen einer WPF-Touch-Anwendung in Windows 8 und vor kurzem zu Windows 10 migriert. Eine Funktion, die wir implementiert, ist das Öffnen der Windows-Tastatur, wenn ein TextBox Fokus erhält. In Windows 8 war es möglich, die Tastatur an die Unterseite andocken, indem Sie die Registrierungseinstellung EdgeTargetDockedState und Starten die TabTip Prozesseinstellung:Öffnen Sie Windows 10 Touch-Tastatur in WPF angedockt

 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(); 

Die Windows 10-Tastatur das gleiche Dock Verhalten zu haben scheint, wie jedoch nicht in Windows 8. Die Tastatur überlagert jetzt jedes maximierte Fenster, das den unteren Teil einer Anwendung verbirgt. Nur nicht maximierte Fenster werden so angepasst, dass sie auf den verbleibenden Platz passen.

Ich habe die folgenden Links überprüft, aber keine Lösung gefunden:

die 10 Windows kann Tastatur für einen maximierten Fenster programmatisch andocken?

+0

Haben Sie eine Lösung gefunden? – nicruo

+0

Soweit ich weiß, kann die Tastatur in Windows 10 nicht angedockt werden, wenn das Fenster maximiert ist. Ich habe im Microsoft-Link gefragt, wo diese Funktion offiziell angefordert werden kann, aber keine zufriedenstellende Antwort erhalten. Wenn dies nicht implementiert wird, muss ich mir das Fenster "fast maximieren" und dann die Tastatur öffnen (was wie eine sehr hässliche Lösung aussieht). –

Antwort

5

Ich Open-Source-mein Projekt, alles in Bezug auf TabTip-Integration in WPF-App zu automatisieren.

Sie können es auf nuget zu bekommen, und danach alles, was Sie ist logisch eine einfache Konfiguration in Ihren Anwendungen Inbetriebnahme benötigen:

TabTipAutomation.BindTo<TextBox>(); 

Sie TabTip Automatisierungslogik an jedes UIElement binden können. Die virtuelle Tastatur wird geöffnet, wenn ein solches Element den Fokus erhält, und es wird geschlossen, wenn das Element den Fokus verliert. Nicht nur das, sondern TabTipAutomation wird UIElement (oder Window) in Ansicht verschieben, so dass TabTip fokussiertes Element nicht blockieren wird.

Weitere Informationen finden Sie unter project site.

Zur Klarstellung: Wenn Sie dieses Paket verwenden, wird TabTip nicht angedockt, aber Ihre Benutzeroberfläche wird in Sicht sein, was ich denke, was Sie erreichen wollten.

+0

Danke @ Макс Федотов, ich habe dein Projekt nicht benutzt, aber ich habe die Teile ausgewählt und herausgezogen, die ich brauchte, und das half mir, das Problem, dem ich gegenüberstand, zu überwinden. – BigHeadCreations

2

prüfen Sie diesen Artikel: http://www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win

virtuelle Tastatur geöffnet wird, wenn ein solches Element den Fokus erhalten wird, und es wird geschlossen, wenn Element den Fokus verliert.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – Marusyk