我创建了一个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被解雇,但键盘仍然可见。任何人都知道为什么会这样?
答案 0 :(得分:1)
当有人按下“取消”按钮时,该按钮会获得焦点 - &gt;键盘隐藏。似乎关闭弹出窗口不足以失去焦点,因此键盘仍然可见。
您可以尝试在关闭弹出窗口时更改焦点。虽然没有关闭事件,但您可以注册到属性更改的回调事件。
this.AddWebpagePopup.RegisterPropertyChangedCallback(Popup.IsOpenProperty, (d, e) =>
{
if (!this.popup.IsOpen)
{
// change focus to something else
}
});