8.1 通用应用程序。设置文本框焦点加载

8.1 Universal App. Setting textbox focus on load

我想知道是否有办法在 Windows 8.1 通用应用程序中强制将焦点放在文本框上?

我一直在尝试在 raspberry pi 2 上发布到 Window 10 IoT。在发布到它时,我注意到唯一的文本框没有获得焦点,尽管它这样做了运行 本地。

我尝试了一些方法,例如:

        private void txtFocus_Loaded(object sender, RoutedEventArgs e)
        {
             this.Focus(FocusState.Keyboard);
        }

        public MainPage()
        {
             this.InitializeComponent();
             txtFocus.Focus(FocusState.Keyboard);
        }

以及在 XAML 上设置它:

        <TextBox x:Name="txtFocus" TextAlignment="Center" HorizontalAlignment="Center" Margin="0,305,0,0" TextWrapping="Wrap" Text="I Would Like Focus" VerticalAlignment="Top" Width="540" Height="70" FocusManager.FocusedElement="{Binding ElementName=txtFocus}" Loaded="txtFocus_Loaded"/>

但是 none 这似乎有效,任何关于为什么会发生这种情况的想法或可能的解决方案将不胜感激。

编辑:以下似乎解决了我的问题

    public MainPage()
    {
        this.InitializeComponent();
        this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
    }

    void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        txtFocus.Focus(FocusState.Keyboard);
    }

我会给出焦点的错觉,并在用户输入文本后返回原始视图

编辑:我的意思是,一旦选择了教科书,其他按钮或您拥有的任何东西都将不可见,并且教科书大小会增加,输入文本后,一切都会恢复原状

我在将我的 Windows8.1 应用程序移植到 Windows10 通用应用程序时遇到了这个问题,如果没有输入任何内容,则必须给文本框提供焦点。

只需使用

即可实现
txtFocus.Focus(FocusState.Keyboard);

但也必须 enable tablet mode 在我的设备上,所以要注意那个,因为即使在为文本框提供焦点后键盘也看不见。