ユーザーが多数のテキストボックスを介してデータを入力する必要があるWindowsストアアプリケーションがあります。
画面の下部にあるテキストボックスにフォーカスがあると、オンスクリーンキーボードが表示され、ページのコンテンツが上に移動します。これは素晴らしいことであり、私が欲しいものです。
ポップアップウィンドウがあると問題が発生します。ポップアップウィンドウが表示されると、実質的に全画面表示になっています。ポップアップウィンドウの子はユーザーコントロールであり、ここでも多くのテキストボックスがあります。ページの下部にあるテキストボックスの1つを選択すると、キーボードは表示されますが、画面は上に移動しないため、選択したテキストボックスの上にキーボードが表示されます。
これは、ポップアップを表示するために使用するコードです。
if (myPopup == null)
{
myPopup = new Popup();
myPopup.Child = new PopupFrom();
// open the Popup
myPopup.IsOpen = true;
}
レイアウトが更新されたときにポップアップのサイズも手動で設定します
private void popup_LayoutUpdated(object sender, object e)
{
if (Windows.UI.ViewManagement.ApplicationView.Value == Windows.UI.ViewManagement.ApplicationViewState.FullScreenLandscape)
{
popup.Width = 1280;
popup.Height = 680;
}
else
{
popup.Width = 680;
popup.Height = 1280;
}
}
だから私の質問は、キーボードが表示され、ポップアップの下部近くにあるテキストボックスの1つと重なっているときに、ポップアップウィンドウを上に移動するにはどうすればよいですか?
前もって感謝します。
このWindows8ストアアプリを作成するためにC#とXAMLを使用しています。