none
WinRT 如何使用代码显示或隐藏键盘? RRS feed

全部回复

  • 你好,

    当应用需要隐藏键盘的时候,你可以设置页面或者页面上某个元素得到焦点,

    当你需要显示键盘的时候,你可以为支持输入的控件,比如TextBox设置焦点。

      <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <StackPanel VerticalAlignment="Center">
                <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Button x:Name="ShowButton" Content="显示" HorizontalAlignment="Center" Click="ShowButton_Click"/>
                    <Button x:Name="CloseButton" Content="关闭" HorizontalAlignment="Center" Click="CloseButton_Click"/>
                </StackPanel>
               
                <TextBox x:Name="TxtString" Width="300"/>
    
            </StackPanel>
        </Grid>

    后台代码:

       private void ShowButton_Click(object sender, RoutedEventArgs e)
            {
                //为文本框设置焦点
                TxtString.Focus(FocusState.Programmatic);
            }
    
            private void CloseButton_Click(object sender, RoutedEventArgs e)
            {
                //为当前页面设置焦点
                this.Focus(FocusState.Programmatic);
            }

    • 已建议为答案 Aran.Wang 2015年6月5日 5:46
    2015年6月5日 3:46
  • 恩,这种方法我知道。我想问的时候有没有 C# 代码来控制键盘的显示和隐藏。
    2015年6月5日 6:35
  • hi 十八子

    WinRT的键盘是显示和隐藏是由系统事件去处理的,代码只能通过聚焦和非聚焦来触发系统事件来显示和隐藏键盘。

    2015年6月8日 0:56
  • 可以考虑这个API: InputPane class

    --James


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月8日 6:03
    版主
  • 可以考虑这个API: InputPane class

    --James


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    hi Jamles

    InputPanel class这个类也只是提供了Showing和Hiding,键盘即将显示和即将消失的方法,能够让我们知道键盘要出来和要消失的时机,以便能够对调节UI控件做出想用的布局。也没有提供代码能够主动拉起和隐藏键盘的方法。

    2015年6月10日 10:32
  • 是的,这个API不能完全的满足题主的要求,不过至少可以满足部分。

    另外微软对于键盘的定位是由用户控制而非系统控制,所以目前没有通过代码方式主动显示软键盘,应该是出于用户提交角度考虑的结果把,键盘只有在某个可输入框被Focus的情况下才触发。

    --James


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月12日 6:26
    版主