2016-05-09 6 views
0

Я создал приложение Win 10 UWP. в том, что у меня есть всплывающее окно, для которого включено легкое увольнение.win10 UWP OnScreen Клавиатура не скрывается

<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> 

В AddWebpagePopup_Opened я просто установив фокус WebpageNameTextBox. В CancelCommand Я просто устанавливаю IsPopupOpen в False Моя проблема с OnScreenKeyBoard В режиме планшета. Клавиатура отображается правильно, когда всплывающее окно открывается и закрывается при нажатии кнопки отмены. Проблема возникает только тогда, когда я касаюсь всплывающего окна. Popup был уволен, но клавиатура все еще была видна. У кого-нибудь есть идея, почему это происходит?

ответ

1

Когда кто-то нажимает кнопку «Отмена», кнопка фокусируется -> клавиатура скрывается. Похоже, что закрытия всплывающего окна недостаточно, чтобы потерять фокус, поэтому клавиатура все еще видна.

Вы можете попытаться изменить фокус, когда всплывающее окно закрывается. Несмотря на то, что нет события закрытия, вы можете зарегистрироваться для изменения события обратного вызова свойства.

this.AddWebpagePopup.RegisterPropertyChangedCallback(Popup.IsOpenProperty, (d, e) => 
{ 
    if (!this.popup.IsOpen) 
    { 
     // change focus to something else 
    } 
}); 
Смежные вопросы