Windows Phoneアプリでソフトキーボードが表示されているときに、画面が上に移動しないようにする方法はありますか?
画面の上半分にテキストボックスがあるので、ソフトキーボードを表示すると、テキストボックスが覆われません。ただし、テキストボックスをタップしても、画面は上にシフトします。
これを防ぐことはできますか?
Windows Phoneアプリでソフトキーボードが表示されているときに、画面が上に移動しないようにする方法はありますか?
画面の上半分にテキストボックスがあるので、ソフトキーボードを表示すると、テキストボックスが覆われません。ただし、テキストボックスをタップしても、画面は上にシフトします。
これを防ぐことはできますか?
私はこれに対する解決策を見つけるのにかなりの時間を費やしました - 私の場合、キーボードが開いたときにスクロールするのではなく、ページヘッダーを画面の上部に残したかったのです。
私が見つけた最良の方法は、以下の投稿で説明されているソリューションでした。これは、フレームの TranslateTransform (キーボードの開閉によってトリガーされる) の変更を使用して、上部マージンのサイズを変更し、使用可能なコンテンツのスペースを変更します。
http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/
多数の要素を含む画面がある場合は、レイアウトを明示的に変更して、より小さなスペースに対応することを検討することをお勧めします。
キーボードを開いたときにスクロール位置を変更する簡単な方法があるとは思えません。私はいくつかの回避策を考えることができますが:
テキストボックスのフォーカスイベントが呼び出されたときにすべてをスクロールビューアに入れ、スクロールビューアをスクロールして、ScrollToVerticalOffset() を使用して関心のあるアイテムを表示し続けます。
移動変換の X コンポーネントを使用して、画面上でテキスト ボックスを移動します。これについては、 Alex Sorokoletovによる優れたブログ投稿があります。