【发布时间】:2015-01-27 05:37:50
【问题描述】:
我想对 Windows 8 应用程序隐藏虚拟键盘。我知道如果将焦点设置在按钮上,它将隐藏,但我的问题是,如果我这样做,那么文本框下方的组合框将被冻结并且无法打开。我的代码:
<Grid Tapped="Grid_Tapped">
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBox Margin="12,12,12,12" Grid.Row="0" VerticalAlignment="Center"
Name="aksiografo_textbox"
Text="{Binding ChequeNumber, Mode=TwoWay}" />
<ComboBox
Name="BankListPicker"
Grid.Row="1"
Margin="12,12,12,12"
SelectedItem="{Binding Bank, Mode=TwoWay}"
ItemTemplate="{StaticResource LiPickerTemplate}" />
</Grid
private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
{
ok_button.Focus(Windows.UI.Xaml.FocusState.Pointer);
}
【问题讨论】:
-
这是因为 ComboBox.Tapped 事件冒泡并且也触发了 Grid.Tapped 事件。为 ComboBox 创建一个 Tapped 事件处理程序并设置 e.Handled = true 可以解决该问题,但不能解决键盘弹出问题。你这样解决不了,我觉得没有。
标签: c# combobox keyboard hide windows-8.1