在将PasswordBox的InputScope设置为NumericPin后,我无法让软输入面板(SIP)或触控键盘切换回标准文本键盘。当我将控件放在同一页面上以及将控件放在两个单独的页面上时,就会发生这种情况。一旦我使用NumericPin InputScope导航到包含PasswordBox的页面,软输入面板将不会遵循任何其他TextBox控件上的InputScope设置。
将此代码放入UWP应用中的网页,您就会看到我在谈论的内容:
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBox x:Name="TextBox" Width="400" HorizontalAlignment="Left">
<TextBox.InputScope>
<InputScope>
<InputScope.Names>
<InputScopeName NameValue="SearchIncremental"/>
</InputScope.Names>
</InputScope>
</TextBox.InputScope>
</TextBox>
<PasswordBox x:Name="PinPasswordBox" Width="400" HorizontalAlignment="Left">
<PasswordBox.InputScope>
<InputScope>
<InputScope.Names>
<InputScopeName NameValue="NumericPin"/>
</InputScope.Names>
</InputScope>
</PasswordBox.InputScope>
</PasswordBox>
</StackPanel>
请注意,我在两个单独的页面中尝试了这个,第一页包含TextBox,第二页包含PasswordBox。在这种情况下,软输入面板正确显示SearchIncremental键盘。但是,一旦我使用PasswordBox导航到页面,键盘将保持NumericPin模式,直到重新启动应用程序。
有没有人见过这个问题?如何使键盘按预期运行?