現在、Windows 8 Metro アプリケーションに取り組んでいます。そのために、テキストボックスとOKボタンを備えたポップアップウィンドウがあります。仮想キーボードで「Enter」をクリックすると、仮想キーボードを非表示にする必要があります。ポップアップキーボードの「OK」ボタンをクリックすると、自動的に非表示になります。
このリンクを参考にしました (HiddenField を使用)。「HiddenField」を使用せずにこの作業を行う方法はありますか。前もって感謝します..
最終的にこの問題の解決策が見つかりました..フォーカスをテキストボックスからポップアップのボタンに変更するだけです..以下はサンプルコードです..
public void FocusTextbox(object sender, EventArgs e)
{
// set focus to textbox on popup open
Textbox.Focus(Windows.UI.Xaml.FocusState.Programmatic);
}
public void Textbox_KeyDown(object sender, KeyRoutedEventArgs e)
{
// conforming the "Enter" button click
if (e.Key == Windows.System.VirtualKey.Enter)
{
// change the focus to OK button
this.OkButton.Focus(Windows.UI.Xaml.FocusState.Pointer);
}
}
ポップアップを閉じる前にフォーカスを変更してください...現在はうまく機能しています..
そして、フォーカスをラベルまたはテキストブロックに変更しても、仮想キーボードは非表示になりません...
私もこれを探していましたが、このアプローチを最初に見つけました