18

Windows Phoneアプリでソフトキーボードが表示されているときに、画面が上に移動しないようにする方法はありますか?

画面の上半分にテキストボックスがあるので、ソフトキーボードを表示すると、テキストボックスが覆われません。ただし、テキストボックスをタップしても、画面は上にシフトします。

これを防ぐことはできますか?

4

3 に答える 3

7

私はこれに対する解決策を見つけるのにかなりの時間を費やしました - 私の場合、キーボードが開いたときにスクロールするのではなく、ページヘッダーを画面の上部に残したかったのです。

私が見つけた最良の方法は、以下の投稿で説明されているソリューションでした。これは、フレームの TranslateTransform (キーボードの開閉によってトリガーされる) の変更を使用して、上部マージンのサイズを変更し、使用可能なコンテンツのスペースを変更します。

http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/

多数の要素を含む画面がある場合は、レイアウトを明示的に変更して、より小さなスペースに対応することを検討することをお勧めします。

于 2012-04-13T15:08:06.860 に答える
3

上記の記事のすべてのコメントの一番下までスクロールしていることがわかりました。

Scrollviewer と複数行テキストボックス Windows Phone

アレックスの記事よりも役に立ちました。

于 2013-09-27T14:34:47.970 に答える
3

キーボードを開いたときにスクロール位置を変更する簡単な方法があるとは思えません。私はいくつかの回避策を考えることができますが:

  • テキストボックスのフォーカスイベントが呼び出されたときにすべてをスクロールビューアに入れ、スクロールビューアをスクロールして、ScrollToVerticalOffset() を使用して関心のあるアイテムを表示し続けます。

  • 移動変換の X コンポーネントを使用して、画面上でテキスト ボックスを移動します。これについては、 Alex Sorokoletovによる優れたブログ投稿があります。

于 2012-04-09T19:35:34.323 に答える