Problem mit Windows Phone-Elementen, wenn die SIP-Tastatur angezeigt wird

8

Ich habe zwei Probleme mit dem folgenden Code, während ich eine einfache Chat-App mache. Der Code zeigt einen Textblock am oberen Rand der Seite und zwei Textbox-Stapel unten an. Plus ein Listenfeld, das automatisch Höhe wird, um die verbleibende Lücke zu füllen.

%Vor%
  1. Wenn ich auf eine der oberen Textboxen klicke, wird die SIP-Tastatur sichtbar und der gesamte Inhalt der Seite wird hochgedrückt. Das Hauptproblem hier ist, dass der oberste Textblock verschwindet und über der Oberseite verschwindet. Wie kann ich es oben halten und nicht bewegen, während die SIP-Tastatur angezeigt wird?

  2. Wenn die unterste Textbox den Fokus hat, erscheint die SIP-Tastatur und schiebt den gesamten Inhalt hoch. In diesem Fall wird die Tastatur nur in diese Textbox passen und sie festhalten. Wenn das andere Textfeld jedoch Fokus hat, wird die Tastatur eine Lücke zwischen ihnen bilden. Wie kann ich die Tastatur so verhalten, wie sie es tut, wenn die unterste fokussiert ist?

Vincent 10.07.2013, 08:01
quelle

1 Antwort

1

Wenn die Tastatur springt und die Maustaste loslässt, wird TranslateTransform auf PhoneApplicationFrame ausgeführt und der gesamte Bildschirm wird nach oben und unten verschoben.

Basiert auf Dieser Artikel , Sie sollten in der Lage sein, den Wert der Übersetzung zu erhalten. Wie Sie sehen können, verschiebt eine Animation die Eigenschaft Y von Null auf einen bestimmten negativen Wert (basierend auf dem Steuerelement, auf das Sie sich konzentriert haben).

Option 1: Ich konnte keine absteigende Methode zur Verarbeitung dieses Werts schreiben, aber Sie sollten die Größe der Steuerelemente so anpassen können, dass sie in den Rest des Bildschirms passen.

Option 2.0 (schlecht): Sie können diese Animation abbrechen oder entfernen. Die Tastatur befindet sich ohne Bewegung auf dem Bildschirm. Jetzt sind Sie an der Reihe, um Ihre Steuerelemente so zu verschieben / zu skalieren, dass sie in den verbleibenden Platz passen.

%Vor%

Option 2.1: Es gibt ein Problem mit 2.0: Durch das Entfernen der Transformation wird verhindert, dass Sie über die Tastatur benachrichtigt werden. Das Einrichten einer umgekehrten Animation auf dem untergeordneten Element Ihrer Seite, wenn sich die Y-Eigenschaft ändert, wird die ursprüngliche Übersetzung "abbrechen".

%Vor%

Es tut mir leid, dass keine dieser Optionen das Problem magisch lösen wird, aber es könnte Ihnen helfen zu programmieren, was am besten zu Ihrer App passt.

Wenn Sie eine bessere Lösung finden, posten Sie diese bitte als Antwort.

    
SandRock 21.12.2013 01:19
quelle

Tags und Links