Laden...

Windows 10 Keyboard bei WPF Anwendung verdeckt Textbox nach Touch oder Klick in die TextBox

Erstellt von Charly vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.280 Views
C
Charly Themenstarter:in
31 Beiträge seit 2014
vor 6 Jahren
Windows 10 Keyboard bei WPF Anwendung verdeckt Textbox nach Touch oder Klick in die TextBox

Ich habe eine WPF Anwendung die unter Windows 10 bewusst im Tablet Modus benutzt werden soll. Ich benutze keine workarounds mit der TabTip wie sie im Netz oft gefunden wird : Prozess Starten etc ... die Windows Basic Funktionalitäten im Tablet Modus funktionieren ganz gut - bis auf eine Sache.

Ich habe im Tablet Modus mehrere Felder die der Anwender ausfüllen soll. Jetzt ist im unteren Bildschirm Bereich eine Textbox zum ausfüllen. Klickt man mit einem Touch in die Box geht die Bildschirm Tastatur auf und verdeckt die Textbox wo der Anwender schreiben soll. **Man kann zwar schreiben, sieht aber nicht was man schreibt. Das Keyboard verdeckt die Anwendung. **

Ich suche dafür jetzt eine elegante Möglichkeit. Auf dem Handy kennt man das ja auch, dass der Bereich dann nach oben geschoben wird, so dass der Eingabebereich über der Bildschirm Tastatur zu sehen ist. Geht das Keyboard zu wandert der Bereich wieder automatisch nach unten.

Gibt es da was natives dass das Windows Keyboard das automatisch macht ? Muss ich dafür was spezielles im WPF beachten ?

Ich habe schon den Teil scrollablegemacht und unten noch einiges an Luft angehängt in der Hoffnung, dass er dann automatisch scrollt - tut er aber nicht. Jetzt könnte ich beim Start des Editierens das ganze manuell nach oben schieben und nach dem Beenden des Editierens wieder zurück schieben - ich finde das aber wenig elegant. Das muss doch besser gehen ?

Wenn jemand einen Tipp hat würde ich mich freuen.

C
Charly Themenstarter:in
31 Beiträge seit 2014
vor 6 Jahren

Moin Christoph,

den Beitrag hatte ich beim Googlen auch gesehen und habe ihn mir nach Deinem Beitrag nochmal (genauer) angesehen. Beim ersten Mal habe ich ihn verworfen, weil dort auch manuell die TabTip aufgerufen wird.

Ich schaue mir das nochmal an - es scheint ja nichts natives zu geben. Danke für Deine Mühe.

Gruß

C
Charly Themenstarter:in
31 Beiträge seit 2014
vor 6 Jahren

Nachtrag für alle die über die Suchfunktion / Google auf den Beitrag stoßen und eine Lösung suchen:

Ich habe das jetzt so gelöst, dass ich mein Grid in einen Scrollviewer eingebettet und das Grid größer als den Scrollviewer gemacht habe. Der untere Bereich vom Grid ist leer geblieben. Die Scrollbars des ScrollViewers habe ich auf "Hidden" gestellt. Bei dem betroffenen Feld welches vorher von der TabTip verdeckt war habe ich ein GotFocus und LostFocus Event hinzugefügt. Wichtig: mit dem TouchEnter und TouchLeave hat es nicht sauber funktioniert. Optisch scrollt er kurz und gleich wieder zurück - als würde das TouchLeave Event sofort ausgelöst wenn Windows das TabTip startet.

Das GotFocus Event scrollt den Scrollviewer einfach über "ScrollToBottom()" nach unten und mit dem LostFocus Event wieder mit "ScrollToTop()" nach oben.

Wenn man jetzt über normale Win10 Boardmittel per Touch in das Feld klickt ist das Feld im oberen Teil und wird nicht mehr vom Keyboard verdeckt. Verlässt man das Feld scrollt das Bild wieder auf normal. Für die Spielwaren Messe Nürnberg ist das erst mal super gelöst und die Mädels können Bestellungen aufnehmen und über meine API in die Firma übertragen.

709 Beiträge seit 2008
vor 6 Jahren

Danke für die Info.

Wichtig: mit dem TouchEnter und TouchLeave hat es nicht sauber funktioniert. Optisch scrollt er kurz und gleich wieder zurück - als würde das TouchLeave Event sofort ausgelöst wenn Windows das TabTip startet.

Wie ich das verstanden habe, wird TouchEnter beim Berühren und TouchLeave beim Loslassen aufgerufen.