win10 UWP OnScreen键盘没有隐藏

时间:2016-05-09 07:34:52

标签: c# xaml keyboard win-universal-app windows-10

我创建了一个Win 10 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>

AddWebpagePopup_Opened我只是将焦点设置为WebpageNameTextBox。在CancelCommand我只是将IsPopupOpen设为False 我的问题是OnScreenKeyBoard在平板电脑模式下。弹出窗口打开时键盘正常显示,单击取消按钮时键盘关闭。只有当我在弹出窗口外触摸时才会出现问题。 Popup被解雇,但键盘仍然可见。任何人都知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

当有人按下“取消”按钮时,该按钮会获得焦点 - &gt;键盘隐藏。似乎关闭弹出窗口不足以失去焦点,因此键盘仍然可见。

您可以尝试在关闭弹出窗口时更改焦点。虽然没有关闭事件,但您可以注册到属性更改的回调事件。

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