4

Windows 8では、ページをナビゲートするときに、特定のTextBoxにフォーカスを置く必要があります。

私が使用した:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);
}

しかし、それは機能しません。ただし、myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);ボタンクリックイベントから呼び出すと、正常に機能します。

ページが読み込まれたときにフォーカスをTextBoxに設定するにはどうすればよいですか?

4

4 に答える 4

16

で電話myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard); してみてくださいthis.Dispatcher

コードサンプル:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    Dispatcher.RunAsync(
        CoreDispatcherPriority.Normal,
        () => myControl.Focus(FocusState.Keyboard));
}
于 2013-02-06T15:49:42.180 に答える
1

これを試して:

myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);

これcontrol(mycontrol)をXAMLコードの最初のコントロールとして設定します。

于 2013-12-30T04:43:13.777 に答える
1

Windows Phone 8.1では、ページにLoadedイベントを追加し、OnNavigatedToイベントの代わりにそこでフォーカスを呼び出します。

private void Page_Loaded(object sender, RoutedEventArgs e)
{
    SearchTextBox.Focus(FocusState.Keyboard);
}
于 2015-07-31T10:57:38.590 に答える
0

TextBoxのLoadedイベントに追加して追加しました。

xaml:

<TextBox x:Name="SearchTextBox" 
     Loaded="SearchTextBox_Loaded"/>

.csの背後にあるコード:

private void SearchTextBox_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
    SearchTextBox.Focus(Windows.UI.Xaml.FocusState.Keyboard);
}
于 2016-07-15T15:32:33.837 に答える