2016-01-13 26 views
12

Abbiamo iniziato a creare un'applicazione touch WPF in Windows 8 e recentemente abbiamo eseguito la migrazione a Windows 10. Una funzionalità implementata è l'apertura della tastiera di Windows quando viene attivato lo . In Windows 8, è stato possibile agganciare la tastiera al fondo impostando l'impostazione EdgeTargetDockedState Registro di sistema e l'avvio del processo di TabTip:Tastiera touch di Windows 10 aperta in WPF

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

La tastiera di Windows 10 tuttavia non sembra avere lo stesso comportamento come in banchina Windows 8. Ora la tastiera si sovrappone a qualsiasi finestra ingrandita che nasconde la parte inferiore di qualsiasi applicazione. Solo le finestre non ingrandite vengono ridimensionate per adattarsi allo spazio rimanente.

Ho controllato i seguenti collegamenti, ma non ha trovato una soluzione:

Può il 10 tastiera di Windows essere ancorata a livello di codice per una finestra ingrandita?

+0

Hai trovato una soluzione? – nicruo

+0

Per quanto ne so, la tastiera di Windows 10 non può essere ancorata quando la finestra è ingrandita. Ho chiesto nel collegamento Microsoft dove questa funzione può essere richiesta ufficialmente, ma non ho ricevuto una risposta soddisfacente. Se questo non verrà implementato, suppongo che dovrò guardare 'quasi massimizzare' la finestra e quindi aprire la tastiera (che sembra una soluzione molto brutta). –

risposta

5

Ho aperto il mio progetto per automatizzare tutto ciò che riguarda l'integrazione TabTip nell'app WPF.

Si può ottenere su nuget, e dopo che tutto ciò che serve è un semplice config nella logica di avvio applicazioni:

TabTipAutomation.BindTo<TextBox>(); 

è possibile associare la logica di automazione TabTip a qualsiasi UIElement. La tastiera virtuale si aprirà quando qualsiasi elemento di questo tipo avrà la messa a fuoco e si chiuderà quando l'elemento perderà la messa a fuoco. Non solo, ma TabTipAutomation metterà in mostra UIElement (o Window), in modo che TabTip non bloccherà l'elemento focalizzato.

Per ulteriori informazioni, fare riferimento allo project site.

Per chiarire: Se si utilizzerà questo pacchetto, TabTip non verrà ancorato, ma verrà visualizzata l'interfaccia utente, che suppongo sia ciò che si desidera ottenere.

+0

Grazie @ Макс Федотов, non ho finito per usare il tuo progetto ma ho scelto e tirato fuori i pezzi di cui avevo bisogno e questo mi ha aiutato a superare il problema che stavo affrontando. – BigHeadCreations

2

Controllare questo articolo: http://www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win

tastiera virtuale si aprirà quando tale elemento otterrà messa a fuoco, e si chiuderà quando elemento sarà perdere la concentrazione.

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. – Marusyk