2016-05-09 19 views
0

私はWin 10 UWPアプリケーションを作成しました。私は軽い解雇が可能なポップアップを持っています。 AddWebpagePopup_Openedwin10 UWPオンスクリーンキーボードが隠れていない

<Popup x:Name="AddWebpagePopup" IsLightDismissEnabled="True" IsOpen="{Binding IsPopupOpen}" Opened="AddWebpagePopup_Opened"> 
    <TextBox x:Name="WebpageNameTextBox" Text="{Binding WebpageUrl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource TexBoxStyle}" KeyDown="WebpageNameTextBox_KeyDown" />` 
    <Button Content="Cancel" Command="{Binding CancelCommand}" HorizontalContentAlignment="Center"/> 
    </popup> 

私はちょうどWebpageNameTextBoxにフォーカスを設定しています。 CancelCommand私はちょうど設定していますIsPopupOpenFalse 私の問題はOnScreenKeyBoardタブレットモードでです。ポップアップを開くとキーボードが正しく表示され、キャンセルボタンをクリックすると閉じます。問題は、ポップアップの外側に触れるときだけです。ポップアップは解除されましたが、キーボードはまだ表示されていました。誰もがなぜこれが起こるか考えている?

答えて

1

誰かが「キャンセル」ボタンを押すと、ボタンはフォーカスを取得し、キーボードは非表示になります。ポップアップを閉じるだけではフォーカスを失うことができないため、キーボードはまだ表示されているようです。

ポップアップが閉じているときにフォーカスを変更することができます。終了イベントはありませんが、プロパティ変更コールバックイベントに登録できます。

this.AddWebpagePopup.RegisterPropertyChangedCallback(Popup.IsOpenProperty, (d, e) => 
{ 
    if (!this.popup.IsOpen) 
    { 
     // change focus to something else 
    } 
});