WinPhone开发技巧训练:如何隐藏软键盘

引子:

有时在开发某些功能时,会涉及到文本框在输入完成后,自动把软键盘隐藏的功能,Windows Phone默认是不会自动隐藏掉的,因此,我们需要为其编写代码.

最终的效果图:

ab

一、设计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事件来对其进行处理。
你可以在这里,找到本次训练的源码包

发表评论

*