引子:
有时在开发某些功能时,会涉及到文本框在输入完成后,自动把软键盘隐藏的功能,Windows Phone默认是不会自动隐藏掉的,因此,我们需要为其编写代码.
最终的效果图:
一、设计UI布局,您可以新建项目或在您已有的项目中新建一个页面,编写如下代码:
1: <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
2: <StackPanel Orientation="Vertical">
3: <TextBlock Text="按Enter键隐藏软键盘:" />
4: <TextBox x:Name="txtWords" />
5: <TextBlock Text="常规文本输入:" />
6: <TextBox />
7: </StackPanel>
8: </Grid>
二、在MainPage.xaml的后置代码文件中,在其构造函数中,为Name为txtWords的控件编写事件处理函数,如下:
1: public MainPage()
2: {
3: InitializeComponent();
4:
5: this.txtWords.KeyUp += new KeyEventHandler(txtWords_KeyUp);
6: }
8: void txtWords_KeyUp(object sender, KeyEventArgs e)
9: {
10: // 如果按下Enter键
11: if (e.Key == Key.Enter)
12: {
13: //焦点转移到当前页面,并移出软键盘
14: this.Focus();
15: }
16: }
从最终效果来看,在常规的文本输入完成后,点击ENTER键后,软键盘并未消失,此时,则需要我们根据KeyUp事件来对其进行处理。
你可以在这里,找到本次训练的源码包
微士博网络日志